Ian Jauslin
summaryrefslogtreecommitdiff
blob: b00d2afe903949d85184ad83d415133816169971 (plain)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
Copyright 2016 Ian Jauslin

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.
*/

/*
  Preprocessor macros for long double arrays
*/


// reset CPP macros
#undef ARRAY_TYPENAME
#undef ARRAY_FUNC
#undef ARRAY_VAL_TYPE
#undef ARRAY_VAL_INIT
#undef ARRAY_VAL_FREE
#undef ARRAY_VAL_SET
#undef ARRAY_VAL_CPY
#undef ARRAY_VAL_IFEQ
#undef ARRAY_VAL_IFLT
#undef ARRAY_VAL_IFGT
#undef ARRAY_VAL_PRINT


// name of the polynomial type
#define ARRAY_TYPENAME array_ldouble
// prefix of function names
#define ARRAY_FUNC(NAME) array_ldouble_ ## NAME

// type of values
#define ARRAY_VAL_TYPE long double
// set values
#define ARRAY_VAL_SET(VAL, NEWVAL) VAL = NEWVAL
// copy values
#define ARRAY_VAL_CPY(FROMVAL, TOVAL) TOVAL = FROMVAL
// compare values
#define ARRAY_VAL_IFEQ(VAL1, VAL2) VAL1==VAL2
#define ARRAY_VAL_IFLT(VAL1, VAL2) VAL1<VAL2
#define ARRAY_VAL_IFGT(VAL1, VAL2) VAL1>VAL2
// print values
#define ARRAY_VAL_PRINT(VAL) fprint_ldouble(stdout, VAL)