spla
Loading...
Searching...
No Matches
src
binding
c_config.hpp
Go to the documentation of this file.
1
/**********************************************************************************/
2
/* This file is part of spla project */
3
/* https://github.com/SparseLinearAlgebra/spla */
4
/**********************************************************************************/
5
/* MIT License */
6
/* */
7
/* Copyright (c) 2023 SparseLinearAlgebra */
8
/* */
9
/* Permission is hereby granted, free of charge, to any person obtaining a copy */
10
/* of this software and associated documentation files (the "Software"), to deal */
11
/* in the Software without restriction, including without limitation the rights */
12
/* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell */
13
/* copies of the Software, and to permit persons to whom the Software is */
14
/* furnished to do so, subject to the following conditions: */
15
/* */
16
/* The above copyright notice and this permission notice shall be included in all */
17
/* copies or substantial portions of the Software. */
18
/* */
19
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR */
20
/* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, */
21
/* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE */
22
/* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER */
23
/* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, */
24
/* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE */
25
/* SOFTWARE. */
26
/**********************************************************************************/
27
28
#ifndef SPLA_C_CONFIG_HPP
29
#define SPLA_C_CONFIG_HPP
30
31
#include <spla.h>
32
#include <spla.hpp>
33
34
#include <cmath>
35
#include <cstring>
36
37
template
<
typename
T,
typename
S>
38
static
T* as_ptr(S* s) {
39
return
(T*) s;
40
}
41
42
template
<
typename
T,
typename
S>
43
static
spla::ref_ptr<T>
as_ref(S* s) {
44
return
spla::ref_ptr<T>
((T*) s);
45
}
46
47
static
spla_Status to_c_status(
spla::Status
status) {
48
return
static_cast<
spla_Status
>
(status);
49
}
50
51
static
spla::AcceleratorType
from_c_accelerator_type(spla_AcceleratorType accelerator) {
52
return
static_cast<
spla::AcceleratorType
>
(accelerator);
53
}
54
55
#endif
//SPLA_C_CONFIG_HPP
spla::ref_ptr
Automates reference counting and behaves as shared smart pointer.
Definition
ref.hpp:117
spla::Status
Status
Definition
config.hpp:62
spla::AcceleratorType
AcceleratorType
Definition
config.hpp:89
Generated by
1.12.0