eigen/unsupported/test
Eugene Brevdo 39baff850c Add TernaryFunctors and the betainc SpecialFunction.
TernaryFunctors and their executors allow operations on 3-tuples of inputs.
API fully implemented for Arrays and Tensors based on binary functors.

Ported the cephes betainc function (regularized incomplete beta
integral) to Eigen, with support for CPU and GPU, floats, doubles, and
half types.

Added unit tests in array.cpp and cxx11_tensor_cuda.cu


Collapsed revision
* Merged helper methods for betainc across floats and doubles.
* Added TensorGlobalFunctions with betainc().  Removed betainc() from TensorBase.
* Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper.
* betainc: merge incbcf and incbd into incbeta_cfe.  and more cleanup.
* Update TernaryOp and SpecialFunctions (betainc) based on review comments.
2016-06-02 17:04:19 -07:00
..
mpreal fixed macro name 2016-05-22 16:49:29 +02:00
alignedvector3.cpp Fix some trivial warnings 2015-08-19 21:38:18 +02:00
autodiff_scalar.cpp bug #1189: fix pow/atan2 compilation for AutoDiffScalar 2016-04-05 14:49:41 +02:00
autodiff.cpp bug #1223: fix compilation of AutoDiffScalar's min/max operators, and add regression unit test. 2016-05-18 16:26:26 +02:00
BVH.cpp Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
CMakeLists.txt Disable the tensor tests when using msvc since older versions of the compiler fail to handle this code 2016-06-04 08:21:17 -07:00
cxx11_eventcount.cpp Use EIGEN_THREAD_YIELD instead of std::this_thread::yield to make the code more portable. 2016-04-21 08:47:28 -07:00
cxx11_float16.cpp Fixed a typo in my previous commit 2016-05-11 10:22:15 -07:00
cxx11_meta.cpp Refactor the unsupported CXX11/Core module to internal headers only. 2016-04-26 11:20:25 +02:00
cxx11_non_blocking_thread_pool.cpp Fixed potential race condition in the non blocking thread pool 2016-05-12 11:45:48 -07:00
cxx11_runqueue.cpp fixed some double-promotion and sign-compare warnings 2016-05-11 23:02:26 +02:00
cxx11_tensor_argmax_cuda.cu Merged patch 672 from Justin Lebar: Don't use long doubles with cuda 2016-03-22 16:53:57 -07:00
cxx11_tensor_argmax.cpp Restore Tensor support for non c++11 compilers 2016-04-29 15:19:19 -07:00
cxx11_tensor_assign.cpp Make EIGEN_HAS_VARIADIC_TEMPLATES user configurable 2016-05-20 15:05:38 +02:00
cxx11_tensor_broadcasting.cpp Make EIGEN_HAS_CONSTEXPR user configurable 2016-05-20 15:10:08 +02:00
cxx11_tensor_cast_float16_cuda.cu Fixed a typo 2016-03-18 12:08:01 -07:00
cxx11_tensor_casts.cpp Made 2 tests compile without cxx11. 2015-12-10 23:20:04 -08:00
cxx11_tensor_chipping.cpp Updated a regression test to avoid compilation errors when compiling with gcc 4.7 2015-04-16 12:15:27 -07:00
cxx11_tensor_comparisons.cpp Replaced POSIX random() by internal::random 2015-02-28 18:39:37 +01:00
cxx11_tensor_concatenation.cpp Fixed compilation warnings 2015-02-27 23:51:16 -08:00
cxx11_tensor_const.cpp Changed the way lvalue operations are declared in TensorBase: this fixes constness isses that prevented some expressions mixing lvalues and rvalues from compiling. 2015-03-17 09:57:20 -07:00
cxx11_tensor_contract_cuda.cu Added tests for full contractions using thread pools and gpu devices. 2016-05-05 09:05:45 -07:00
cxx11_tensor_contraction.cpp Updated the contraction code to ensure that full contraction return a tensor of rank 0 2016-05-05 08:37:47 -07:00
cxx11_tensor_convolution.cpp Updated the cxx11_tensor_convolution test to avoid using cxx11 features. This should enable the test to compile with gcc 4.7 and older 2015-04-16 12:29:16 -07:00
cxx11_tensor_cuda.cu Add TernaryFunctors and the betainc SpecialFunction. 2016-06-02 17:04:19 -07:00
cxx11_tensor_custom_index.cpp Updated the custom indexing code: we can now use any container that provides the [] operator to index a tensor. Added unit tests to validate the use of std::map and a few more types as valid custom index containers 2015-10-15 14:58:49 -07:00
cxx11_tensor_custom_op.cpp Updated the cxx11_tensor_custom_op to not require cxx11. 2015-12-10 20:53:44 -08:00
cxx11_tensor_device.cu Avoid unecessary type promotion 2016-05-05 09:26:57 -07:00
cxx11_tensor_dimension.cpp fixed some double-promotion and sign-compare warnings 2016-05-11 23:02:26 +02:00
cxx11_tensor_empty.cpp Fixed teh cxx11_tensor_empty test to compile without requiring cxx11 support 2016-04-29 16:53:55 -07:00
cxx11_tensor_expr.cpp Don't rely on c++11 extension when we don't have to. 2016-05-17 07:21:22 -07:00
cxx11_tensor_fft.cpp Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
cxx11_tensor_fixed_size.cpp Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
cxx11_tensor_forced_eval.cpp Made the cxx11_tensor_forced_eval compile without c++11. 2016-04-29 15:48:59 -07:00
cxx11_tensor_generator.cpp Fixed compilation error triggered by gcc 4.7 2015-05-20 08:54:44 -07:00
cxx11_tensor_ifft.cpp Added tests for the fft code 2015-10-22 16:52:55 -07:00
cxx11_tensor_image_patch.cpp Reduced the memory footprint of the cxx11_tensor_image_patch test 2016-05-04 21:08:22 -07:00
cxx11_tensor_index_list.cpp Added support for statically known lists of pairs of indices 2016-05-25 11:04:14 -07:00
cxx11_tensor_inflation.cpp Added support for tensor inflation. 2015-07-16 09:04:05 -07:00
cxx11_tensor_intdiv.cpp Fixed compilation warning 2016-05-09 19:24:41 -07:00
cxx11_tensor_io.cpp Fixed the printing of RowMajor tensors 2015-01-14 12:43:20 -08:00
cxx11_tensor_layout_swap.cpp Added ability to swap the layout of a tensor 2015-01-14 10:14:46 -08:00
cxx11_tensor_lvalue.cpp Created additional unit tests for the tensor code and improved existing ones. 2014-06-13 10:20:28 -07:00
cxx11_tensor_map.cpp Made several tensor tests compatible with cxx03 2016-04-29 17:22:37 -07:00
cxx11_tensor_math.cpp Fixed compilation warnings generated by clang 2016-04-12 20:53:18 -07:00
cxx11_tensor_mixed_indices.cpp Fixed compilation warnings generated by clang 2016-04-12 20:53:18 -07:00
cxx11_tensor_morphing.cpp Speedup a test 2016-06-01 21:13:00 -07:00
cxx11_tensor_notification.cpp Fixed compilation error on windows 2016-03-24 18:54:31 -07:00
cxx11_tensor_of_complex.cpp Avoid using initializer lists in test since not all version of msvc support them 2016-03-05 08:35:26 -08:00
cxx11_tensor_of_const_values.cpp Added tests for tensors of const values and tensors of stringswwq:: 2014-10-01 20:21:42 -07:00
cxx11_tensor_of_float16_cuda.cu Resolved merge conflicts 2016-05-26 13:39:39 -07:00
cxx11_tensor_of_strings.cpp Fixed compilation warnings 2015-02-27 23:54:24 -08:00
cxx11_tensor_padding.cpp Created many additional tests 2015-01-14 15:46:04 -08:00
cxx11_tensor_patch.cpp Added support for RowMajor layout to the tensor patch extraction cofde. 2015-02-25 13:29:12 -08:00
cxx11_tensor_random_cuda.cu Added a few tests to validate the generation of random tensors on GPU. 2016-05-11 10:05:56 -07:00
cxx11_tensor_random.cpp Fixed syntax error 2016-03-04 14:37:51 -08:00
cxx11_tensor_reduction_cuda.cu Shared the tensor reduction test 2016-02-01 07:44:31 -08:00
cxx11_tensor_reduction.cpp Make EIGEN_HAS_CONSTEXPR user configurable 2016-05-20 15:10:08 +02:00
cxx11_tensor_ref.cpp Fixed compilation warning 2015-03-16 13:17:52 -07:00
cxx11_tensor_reverse.cpp Made 2 tests compile without cxx11. 2015-12-10 23:20:04 -08:00
cxx11_tensor_roundings.cpp Added tests to cover the new rounding, flooring and ceiling tensor operations. 2016-03-03 12:38:02 -08:00
cxx11_tensor_scan.cpp Add tensor scan op 2016-06-02 13:35:47 +01:00
cxx11_tensor_shuffling.cpp Added a test for shuffling 2015-07-29 15:01:21 -07:00
cxx11_tensor_simple.cpp Made several tensor tests compatible with cxx03 2016-04-29 17:22:37 -07:00
cxx11_tensor_striding.cpp gcc doesn't consider that 2015-01-16 09:09:23 -08:00
cxx11_tensor_sugar.cpp Add syntactic sugar to Eigen tensors to allow more natural syntax. 2016-06-02 12:41:28 -07:00
cxx11_tensor_symmetry.cpp unsupported/TensorSymmetry: factor out completely from Tensor module 2014-06-04 20:44:22 +02:00
cxx11_tensor_thread_pool.cpp Avoid unnecessary conversions between floats and doubles 2016-05-11 23:00:03 -07:00
cxx11_tensor_uint128.cpp Added missing assignment operator to the TensorUInt128 class, and made misc small improvements 2016-03-30 13:17:03 -07:00
cxx11_tensor_volume_patch.cpp Added support for 3D patch extraction 2015-06-30 14:48:26 -07:00
dgmres.cpp Add complex support to dgmres and the unit test 2013-03-20 18:38:22 +01:00
FFT.cpp merge 2010-02-16 21:41:04 -05:00
FFTW.cpp Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
forward_adolc.cpp Update ADOL-C support. 2015-11-30 16:00:22 +01:00
gmres.cpp the repeated solves are already present in check_sparse_solving() 2012-10-09 13:30:48 +02:00
kronecker_product.cpp Let KroneckerProduct exploits the recently introduced generic InnerIterator class. 2014-09-29 13:37:49 +02:00
levenberg_marquardt.cpp Turn a converge check to a warning 2016-04-13 22:50:54 +02:00
matrix_exponential.cpp Add test for matrix power. 2012-08-27 22:48:37 +01:00
matrix_function.cpp Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_functions.h Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_power.cpp Silenced several double-promotion warnings 2016-05-22 18:17:04 +02:00
matrix_square_root.cpp Add test for matrix power. 2012-08-27 22:48:37 +01:00
minres.cpp typo 2015-02-10 19:22:05 +01:00
mpreal_support.cpp Remove unnecessary <bench/BenchTimer.h>include 2014-07-17 11:14:14 +02:00
NonLinearOptimization.cpp bug #1197: fix/relax some LM unit tests 2016-04-09 11:14:02 +02:00
NumericalDiff.cpp be sure that there's no name clash between NumericalDiff::df and the 2009-09-28 17:45:45 +02:00
openglsupport.cpp Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
polynomialsolver.cpp PolynomialSolver: test template constructor in test suite. 2014-05-19 18:34:10 +02:00
polynomialutils.cpp Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
sparse_extra.cpp bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings. 2014-12-04 22:48:53 +01:00
splines.cpp Fixed compilation warning 2016-02-09 20:43:41 -08:00