Commit Graph

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