Commit Graph

23 Commits

Author SHA1 Message Date
Robert Maynard
d54aee7eb5 Merge branch 'fix_typo_in_copyright' 2015-05-21 10:32:08 -04:00
Robert Maynard
6b8e7822be The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
Robert Maynard
0dde5fec68 Remove duplicate testing code from UnitTestFunctionInterface. 2015-05-21 08:50:08 -04:00
Kenneth Moreland
37dac92052 Add index tags to FunctionInterface features.
The functors in the ForEach, StaticTransform, and DynamicTransform
methods sometimes can use the index of the parameter that they are
operating on. This can be a helpful diagnostic in compile and run-time
errors. It is also helpful when linking parameters from one
FunctionInterface with those of another.

This new features are now replacing implementations using the Zip
functionality that was removed earlier. The implementation is actually
simplified a bit.
2015-01-15 22:13:47 -07:00
Kenneth Moreland
0fdc311682 Remove test of Zip functionality from UnitTestFunctionInterface
Since that feature has been removed.
2015-01-12 19:24:53 -08:00
Kenneth Moreland
25613a26ad Re-disable timing test in FunctionInterface unit test
When fixing a problem where the disabled test had left some unused
classes, which some compilers picked up on (SHA
eae8921dc714c9bdb12058db365f890425291ea2), I used a preprocessor wrapper
to enable/disable the code (mostly to preserve history). However, I
forgot to leave the code disabled. Disable that here.
2014-12-10 09:44:54 -07:00
Robert Maynard
735a2ff25a Update the documentation to use vtkm::FloatDefault instead of vtkm::Scalar. 2014-12-10 10:38:03 -05:00
Kenneth Moreland
eae8921dc7 Remove unused functor from function interface test.
It was the functor that was used to test the time overhead of invoking
a functor through a FunctionInterface, but that test has been disabled.
2014-11-12 08:39:45 -07:00
Kenneth Moreland
72c62a3556 Merge branch 'dispatch'
Conflicts:
	vtkm/internal/testing/UnitTestFunctionInterface.cxx
2014-11-10 12:27:31 -07:00
Kenneth Moreland
e2e8a3adb9 Disable the timing test for FunctionInterface.
There is a test that tries to determine that the Invoke methods in
FunctionInterface do not add an unreasonable overhead. However, this
test is unreliable. Also, the most critical performance hit would be in
invoking a worklet operation, but that is now done elsewhere anyway.
2014-10-23 16:03:58 -06:00
Kenneth Moreland
f4fb9f0ace Merge branch 'new-list-features' into distpach 2014-10-22 15:21:48 -06:00
Kenneth Moreland
7cf25331e2 Fix MSVC compiler warnings
Generally, the MSVC compiler tends to be more picky about implicit type
conversions. It warns if there is any possibility of precision loss.
2014-10-21 16:52:24 -06:00
Kenneth Moreland
b78688f4f4 Add ability to zip function interface objects.
The zip capability allows you to parameter-wise combine two
FunctionInterface objects. The result is another FunctionInterface with
each parameter a Pair containing the respective values of the two
inputs.

Being able to zip allows you to do transforms and invokes on data that
is divided among multiple function interface objects.
2014-10-16 16:31:55 -06:00
Kenneth Moreland
7f94eafc9c Remove vtkm::Scalar and vtkm::Vector# types
Providing these types tends to "lock in" the precision of the algorithms
used in VTK-m. Since we are using templating anyway, our templates
should be generic enough to handle difference precision in the data.
Usually the appropriate type can be determined by the data provided. In
the case where there is no hint on the precision of data to use (for
example, in the code that provides coordinates for uniform data), there
is a vtkm::FloatDefault.
2014-10-09 08:54:56 -06:00
Kenneth Moreland
1c710349e4 Add exception for timing test with MSVC in non-release mode.
We have a test for FunctionInterface to make sure that calling a function
indirectly through that is about as fast as directly. On MSVC we sometimes
observe that this timing fails in debug mode. This is probably the compiler
adding some code to each function invocation. That won't happen in production
compiles, so we don't care about it too much. Make an exception in this case.
2014-09-15 14:23:38 -06:00
Kenneth Moreland
2bd9632a36 Fix testing versions.
There is a special version of the testing methods for use in the control
environment that handles execeptions that can be thrown there. There are
tests to make sure you are using the correct version of the testing
framework, but it was broken until the last commit. Now that it's fixed,
here are two places where the wrong testing method was used.
2014-06-11 10:45:36 -06:00
Kenneth Moreland
fb4f550918 Fix MSVC compiler warnings.
Most of the warnings were about losing precision in conversions.
2014-06-10 16:09:28 -06:00
Kenneth Moreland
50a5210a7d Add Timer class.
Helpful for safely timing parallel code across different devices.
2014-06-10 12:54:18 -06:00
Kenneth Moreland
d3134b7050 Add ForEach methods to FunctionInterface.
Provides a convienient mechanism to do an in-place type-preserving
transform or a check of each parameter.
2014-05-13 14:08:14 -06:00
Kenneth Moreland
438fe0ff8d Implement FunctionInterface::StaticTransform
This will allow a faster conversion than the dynamic transform and will
allow you to define compile-time types for transformation unlike dynamic
transform or invoke with transform.
2014-05-06 13:32:10 -06:00
Kenneth Moreland
ebc20b432d Add FunctionInterface class.
The FunctionInterface class is a convienient way to wrap up a variable
number of arguments and pass them around templated interfaces without
requiring variadic template arguments. It also correctly hands return
arguments.
2014-04-24 20:02:29 -05:00
Robert Maynard
c80fb9259f Update the initial repository to use the correct indentation style. 2014-02-11 16:20:30 -05:00
Robert Maynard
24f561f0fe Add testing support to vtkm, and add tests for primitive types. 2014-02-10 15:00:17 -05:00