amino
Lightweight Robot Utility Library
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
lp.h
1
/* -*- mode: C; c-basic-offset: 4 -*- */
2
/* ex: set shiftwidth=4 tabstop=4 expandtab: */
3
/*
4
* Copyright (c) 2016, Rice University
5
* All rights reserved.
6
*
7
* Author(s): Neil T. Dantam <ntd@gatech.edu>
8
*
9
* This file is provided under the following "BSD-style" License:
10
*
11
*
12
* Redistribution and use in source and binary forms, with or
13
* without modification, are permitted provided that the following
14
* conditions are met:
15
* * Redistributions of source code must retain the above copyright
16
* notice, this list of conditions and the following disclaimer.
17
* * Redistributions in binary form must reproduce the above
18
* copyright notice, this list of conditions and the following
19
* disclaimer in the documentation and/or other materials provided
20
* with the distribution.
21
* * Neither the name of copyright holder the names of its
22
* contributors may be used to endorse or promote products derived
23
* from this software without specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
26
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
27
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
30
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
33
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
34
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37
* POSSIBILITY OF SUCH DAMAGE.
38
*
39
*/
40
#ifndef AMINO_OPT_LP_H
41
#define AMINO_OPT_LP_H
42
43
#include "opt.h"
44
45
46
typedef
int
aa_opt_lp_solver (
47
size_t
m,
size_t
n,
48
const
double
*A,
size_t
ldA,
49
const
double
*b_lower,
const
double
*b_upper,
50
const
double
*c,
51
const
double
*x_lower,
const
double
*x_upper,
52
double
*x );
53
54
55
AA_API
int
aa_opt_lp_lpsolve (
56
size_t
m,
size_t
n,
57
const
double
*A,
size_t
ldA,
58
const
double
*b_lower,
const
double
*b_upper,
59
const
double
*c,
60
const
double
*x_lower,
const
double
*x_upper,
61
double
*x );
62
63
64
AA_API
int
aa_opt_lp_clp (
65
size_t
m,
size_t
n,
66
const
double
*A,
size_t
ldA,
67
const
double
*b_lower,
const
double
*b_upper,
68
const
double
*c,
69
const
double
*x_lower,
const
double
*x_upper,
70
double
*x );
71
72
AA_API
int
aa_opt_lp_glpk (
73
size_t
m,
size_t
n,
74
const
double
*A,
size_t
ldA,
75
const
double
*b_lower,
const
double
*b_upper,
76
const
double
*c,
77
const
double
*x_lower,
const
double
*x_upper,
78
double
*x );
79
80
typedef
int
aa_opt_lp_crs_solver (
81
size_t
m,
size_t
n,
82
const
double
*A_values,
int
*A_cols,
int
*A_row_ptr,
83
const
double
*b_lower,
const
double
*b_upper,
84
const
double
*c,
85
const
double
*x_lower,
const
double
*x_upper,
86
double
*x );
87
88
89
AA_API
int
aa_opt_lp_crs_lpsolve (
90
size_t
m,
size_t
n,
91
const
double
*A_values,
int
*A_cols,
int
*A_row_ptr,
92
const
double
*b_lower,
const
double
*b_upper,
93
const
double
*c,
94
const
double
*x_lower,
const
double
*x_upper,
95
double
*x );
96
97
AA_API
int
aa_opt_lp_crs_clp (
98
size_t
m,
size_t
n,
99
const
double
*A_values,
int
*A_cols,
int
*A_row_ptr,
100
const
double
*b_lower,
const
double
*b_upper,
101
const
double
*c,
102
const
double
*x_lower,
const
double
*x_upper,
103
double
*x );
104
105
AA_API
int
aa_opt_lp_crs_glpk (
106
size_t
m,
size_t
n,
107
const
double
*A_values,
int
*A_cols,
int
*A_row_ptr,
108
const
double
*b_lower,
const
double
*b_upper,
109
const
double
*c,
110
const
double
*x_lower,
const
double
*x_upper,
111
double
*x );
112
113
#endif //AMINO_OPT_H
AA_API
#define AA_API
calling and name mangling convention for functions
Definition:
amino.h:86