/* * Copyright 2008-2012 NVIDIA Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include #include #include #include #include namespace thrust { namespace detail { namespace functional { template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator==(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator==() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator==(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator==() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator==(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator==() template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator!=(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator!=() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator!=(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator!=() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator!=(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator!=() template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator>(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator>(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator>(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>() template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator<(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator<(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator<(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<() template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator>=(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>=() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator>=(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>=() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator>=(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator>=() template __host__ __device__ actor< composite< binary_operator, actor, typename as_actor::type > > operator<=(const actor &_1, const T2 &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<=() template __host__ __device__ actor< composite< binary_operator, typename as_actor::type, actor > > operator<=(const T1 &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<=() template __host__ __device__ actor< composite< binary_operator, actor, actor > > operator<=(const actor &_1, const actor &_2) { return compose(binary_operator(), make_actor(_1), make_actor(_2)); } // end operator<=() } // end functional } // end detail } // end thrust