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
autodiff_scalar.cpp
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
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
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
cxx11_tensor_casts.cpp
cxx11_tensor_chipping.cpp
cxx11_tensor_comparisons.cpp
cxx11_tensor_concatenation.cpp
cxx11_tensor_const.cpp
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
cxx11_tensor_cuda.cu Add TernaryFunctors and the betainc SpecialFunction. 2016-06-02 17:04:19 -07:00
cxx11_tensor_custom_index.cpp
cxx11_tensor_custom_op.cpp
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
cxx11_tensor_ifft.cpp
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
cxx11_tensor_intdiv.cpp Fixed compilation warning 2016-05-09 19:24:41 -07:00
cxx11_tensor_io.cpp
cxx11_tensor_layout_swap.cpp
cxx11_tensor_lvalue.cpp
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
cxx11_tensor_of_complex.cpp
cxx11_tensor_of_const_values.cpp
cxx11_tensor_of_float16_cuda.cu Resolved merge conflicts 2016-05-26 13:39:39 -07:00
cxx11_tensor_of_strings.cpp
cxx11_tensor_padding.cpp
cxx11_tensor_patch.cpp
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
cxx11_tensor_reduction_cuda.cu
cxx11_tensor_reduction.cpp Make EIGEN_HAS_CONSTEXPR user configurable 2016-05-20 15:10:08 +02:00
cxx11_tensor_ref.cpp
cxx11_tensor_reverse.cpp
cxx11_tensor_roundings.cpp
cxx11_tensor_scan.cpp Add tensor scan op 2016-06-02 13:35:47 +01:00
cxx11_tensor_shuffling.cpp
cxx11_tensor_simple.cpp Made several tensor tests compatible with cxx03 2016-04-29 17:22:37 -07:00
cxx11_tensor_striding.cpp
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
cxx11_tensor_thread_pool.cpp Avoid unnecessary conversions between floats and doubles 2016-05-11 23:00:03 -07:00
cxx11_tensor_uint128.cpp
cxx11_tensor_volume_patch.cpp
dgmres.cpp
FFT.cpp
FFTW.cpp Enable and fix -Wdouble-conversion warnings 2016-05-05 13:35:45 +02:00
forward_adolc.cpp
gmres.cpp
kronecker_product.cpp
levenberg_marquardt.cpp Turn a converge check to a warning 2016-04-13 22:50:54 +02:00
matrix_exponential.cpp
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
minres.cpp
mpreal_support.cpp
NonLinearOptimization.cpp
NumericalDiff.cpp
openglsupport.cpp
polynomialsolver.cpp
polynomialutils.cpp
sparse_extra.cpp
splines.cpp