MPSolve
3.2.1
Loading...
Searching...
No Matches
tools.h
Go to the documentation of this file.
1
/***********************************************************
2
** C Tools **
3
** Version 2.0 **
4
** **
5
** Written by Giuseppe Fiorentino **
6
** (fiorent@dm.unipi.it) **
7
***********************************************************/
8
18
#include <
mps/mps.h
>
19
20
#ifndef MPS_TOOLS_H_
21
#define MPS_TOOLS_H_
22
23
MPS_BEGIN_DECLS
24
25
/* consts */
26
#define LOG2 0.69314718055994530941
27
#define LOG10 2.30258509299404568401
28
#define LOG10_2 0.30102999566398119521
29
#define LOG2_10 3.32192809488736234787
30
#define PI 3.14159265358979323846
31
32
/* macros */
33
#define MAX(A, B) ((A) > (B) ? (A) : (B))
34
#define MIN(A, B) ((A) < (B) ? (A) : (B))
35
36
/* functions */
37
void
randomize (
unsigned
int
seed);
38
double
drand (
void
);
39
double
dbl_set_2dl (
double
d,
long
int
l);
40
void
dbl_get_2dl (
double
*rd,
long
int
*rl,
double
d);
41
double
dbl_get_mant (
double
d);
42
int
dbl_get_exp (
double
d);
43
44
/* vector support functions */
45
#define mps_boolean_valloc(N) (mps_boolean*)malloc ((N)*sizeof(mps_boolean))
46
void
mps_boolean_vinit (mps_boolean v[],
unsigned
long
int
size);
47
#define mps_boolean_vclear(V, N) mps_boolean_vinit (V, N)
48
#define mps_boolean_vfree(V) free (V)
49
50
/* vector support functions */
51
#define char_valloc(N) (char*)malloc ((N)*sizeof(char))
52
void
char_vinit (
char
v[],
unsigned
long
int
size);
53
#define char_vclear(V, N) char_vinit (V, N)
54
#define char_vfree(V) free (V)
55
56
#define int_valloc(N) (int*)malloc ((N)*sizeof(int))
57
void
int_vinit (
int
v[],
unsigned
long
int
size);
58
#define int_vclear(V, N) int_vinit (V, N)
59
#define int_vfree(V) free (V)
60
61
#define long_valloc(N) (long*)malloc ((N)*sizeof(long))
62
void
long_vinit (
long
v[],
unsigned
long
int
size);
63
#define long_vclear(V, N) lng_vinit (V, N)
64
#define long_vfree(V) free (V)
65
66
#define float_valloc(N) (float*)malloc ((N)*sizeof(float))
67
void
float_vinit (
float
v[],
unsigned
long
int
size);
68
#define float_vclear(V, N) float_vinit (V, N)
69
#define float_vfree(V) free (V)
70
71
#define double_valloc(N) (double*)malloc ((N)*sizeof(double))
72
void
double_vinit (
double
v[],
unsigned
long
int
size);
73
#define double_vclear(V, N) double_vinit (V, N)
74
#define double_vfree(V) free (V)
75
76
MPS_END_DECLS
77
78
#endif
mps.h
Header file for libmps.
include
mps
private
tools.h
Generated on Mon Nov 28 2022 00:00:00 for MPSolve by
1.9.5