23 Commits

Author SHA1 Message Date
Kyle Lutz d8beaaf227 Merge pull request #694 from haahh/pr_vs_fixes
Various fixes for Visual Studio
2017-03-20 20:11:12 -07:00
Jakub Szuppe 2d604e7656 Fix: isinf is ambiguous in VS2015 2017-03-18 15:22:22 +01:00
Jakub Szuppe d0f3e50a32 Fix issue #683
Make sure variable type is kept when
stringifying its value in bc::lambda.
2017-03-17 21:44:00 +01:00
Jakub Szuppe e25bb7d99d POCL does not have remquo() OpenCL built-in func impl 2016-09-24 22:31:58 +02:00
Jakub Szuppe 6f704003f1 Add wrappers for OpenCL builtin funs with ptrs 2016-09-24 21:37:21 +02:00
Jakub Szuppe 1b2bb4b98e Add missing lambda wrappers for builtin funcs 2016-09-24 21:35:25 +02:00
Jakub Szuppe 6412cb2cc6 Fix typos in test_lambda.cpp 2016-05-05 14:23:28 +02:00
Jakub Szuppe 7894d1f7c0 Add missing queue and context parameters in tests 2015-07-02 22:20:42 +02:00
Kyle Lutz fda67a22d0 Update GitHub links 2015-05-17 20:32:09 -07:00
Kyle Lutz f21abdff7e Add bind() function 2014-07-27 10:33:59 -07:00
Kyle Lutz 52886775f8 Support conversion of lambda expressions to function objects 2014-05-24 13:42:43 -07:00
Kyle Lutz 376713f1b4 Simplify lambda wrappers for binary geometric functions 2014-05-18 16:13:47 -07:00
Kyle Lutz ccd6f21d98 Change vector constructors to take queue argument
This changes the vector<T> constructors which copy or initialize
data to take a queue argument used for performing the operations.

Previously they just took a context argument used to initialize the
buffer and then created a new command queue to use. This improves
performance by not requiring a new command queue and also fixes issues
when performing operations on a different command queue while the
vector was still being initialized.
2014-01-27 23:39:19 -08:00
Kyle Lutz dc20f09d92 Add make_tuple() lambda function 2014-01-14 22:18:35 -08:00
Kyle Lutz ea7c2bf2f4 Add make_pair() lambda function 2014-01-14 22:03:48 -08:00
Kyle Lutz e313aae6f7 Rename lambda result test functions to check_lambda_result() 2014-01-14 21:48:33 -08:00
Kyle Lutz 3a7b90ff06 Fix issue with comparison operators in lambda expressions
This fixes an issue in which comparison operators (e.g. <, ==)
in lambda expressions would return the wrong result type causing
compilation errors.

Also adds a few test cases to ensure the correct result type
and that lambda expressions can be properly used with count_if().
2013-08-15 22:10:03 -04:00
Kyle Lutz 767589fe0d Rearrange type headers
This rearranges the type headers to live under the
<boost/compute/types/...> directory instead of the
top-level <boost/compute/...> directory.
2013-08-13 20:37:56 -04:00
Kyle Lutz 8e51a0a162 Refactor lambda expression framework to use meta_kernel
This refactors the lambda expression framework to use meta_kernel
to construct kernel source code instead of using plain strings.
2013-06-11 21:14:28 -04:00
Kyle Lutz b43e79b983 Add support for get<N>() in lambda expressions
This adds support for using the get<N>() function in lambda
expressions to extract a single component of an aggregate type.

Also adds a test of using boost::tuple<> to store a user-defined
data type on the device and sort them by their first component
using a lambda expression as the comparator.
2013-05-20 20:50:10 -04:00
Kyle Lutz 1b9e904cc7 Add CHECK_RANGE_EQUAL() test macro
This adds a new macro for the unit-tests which checks a range of
values on the device against an array of values on the host. This
simplifies writing tests and removes the need to explicitly copy
values back to the host for verification.
2013-05-13 23:06:40 -04:00
Denis Demidov 5d77bbebee Global setup for OpenCL context in tests
refs kylelutz/compute#9

device, context, and queue are initialized statically in `context_setup.hpp`.
With this change all tests are able to complete when an NVIDIA GPU is in
exclusive compute mode.

Side effect of the change:
Time for all tests to complete reduced from 15.71 to 13.03 sec Tesla C2075.
2013-04-19 14:53:59 +04:00
Kyle Lutz d34cdaac59 Initial commit 2013-03-02 15:14:17 -05:00