1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! Provides a Rust wrapper around Cuda's Function.

use crate::operation::IOperation;

#[derive(Debug, Copy, Clone)]
/// Defines a Cuda Function.
///
/// A Function is Cuda's version of Coaster's [operation][operation].
/// [operation]: ../../operation/index.html
pub struct Function {
    id: isize,
}

impl Function {
    /// Initializes a new OpenCL device.
    pub fn from_isize(id: isize) -> Function {
        Function { id }
    }

    /*
    /// Initializes a new OpenCL device from its C type.
    //pub fn from_c(id: cl::kernel_id) -> Function {
        Function { id: id as isize }
    }

    /// Returns the id as its C type.
    pub fn id_c(&self) -> cl::kernel_id {
        self.id as cl::kernel_id
    }
    */
}

impl IOperation for Function {}