xref: /illumos-gate/usr/src/common/mpi/mpi-config.h (revision c40a6cd785e883b3f052b122c332e21174fc1871)
1 /* Default configuration for MPI library
2  *
3  * ***** BEGIN LICENSE BLOCK *****
4  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5  *
6  * The contents of this file are subject to the Mozilla Public License Version
7  * 1.1 (the "License"); you may not use this file except in compliance with
8  * the License. You may obtain a copy of the License at
9  * http://www.mozilla.org/MPL/
10  *
11  * Software distributed under the License is distributed on an "AS IS" basis,
12  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13  * for the specific language governing rights and limitations under the
14  * License.
15  *
16  * The Original Code is the MPI Arbitrary Precision Integer Arithmetic library.
17  *
18  * The Initial Developer of the Original Code is
19  * Michael J. Fromberger.
20  * Portions created by the Initial Developer are Copyright (C) 1997
21  * the Initial Developer. All Rights Reserved.
22  *
23  * Contributor(s):
24  *   Netscape Communications Corporation
25  *
26  * Alternatively, the contents of this file may be used under the terms of
27  * either the GNU General Public License Version 2 or later (the "GPL"), or
28  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29  * in which case the provisions of the GPL or the LGPL are applicable instead
30  * of those above. If you wish to allow use of your version of this file only
31  * under the terms of either the GPL or the LGPL, and not to allow others to
32  * use your version of this file under the terms of the MPL, indicate your
33  * decision by deleting the provisions above and replace them with the notice
34  * and other provisions required by the GPL or the LGPL. If you do not delete
35  * the provisions above, a recipient may use your version of this file under
36  * the terms of any one of the MPL, the GPL or the LGPL.
37  *
38  * ***** END LICENSE BLOCK ***** */
39 /*
40  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
41  * Use is subject to license terms.
42  *
43  * Sun elects to use this software under the MPL license.
44  */
45 
46 #ifndef _MPI_CONFIG_H
47 #define _MPI_CONFIG_H
48 
49 /* $Id: mpi-config.h,v 1.5 2004/04/25 15:03:10 gerv%gerv.net Exp $ */
50 
51 /*
52   For boolean options,
53   0 = no
54   1 = yes
55 
56   Other options are documented individually.
57 
58  */
59 
60 #ifndef MP_IOFUNC
61 #define MP_IOFUNC     0  /* include mp_print() ?                */
62 #endif
63 
64 #ifndef MP_MODARITH
65 #define MP_MODARITH   1  /* include modular arithmetic ?        */
66 #endif
67 
68 #ifndef MP_NUMTH
69 #define MP_NUMTH      1  /* include number theoretic functions? */
70 #endif
71 
72 #ifndef MP_LOGTAB
73 #define MP_LOGTAB     1  /* use table of logs instead of log()? */
74 #endif
75 
76 #ifndef MP_MEMSET
77 #define MP_MEMSET     1  /* use memset() to zero buffers?       */
78 #endif
79 
80 #ifndef MP_MEMCPY
81 #define MP_MEMCPY     1  /* use memcpy() to copy buffers?       */
82 #endif
83 
84 #ifndef MP_CRYPTO
85 #define MP_CRYPTO     1  /* erase memory on free?               */
86 #endif
87 
88 #ifndef MP_ARGCHK
89 /*
90   0 = no parameter checks
91   1 = runtime checks, continue execution and return an error to caller
92   2 = assertions; dump core on parameter errors
93  */
94 #ifdef DEBUG
95 #define MP_ARGCHK     2  /* how to check input arguments        */
96 #else
97 #define MP_ARGCHK     1  /* how to check input arguments        */
98 #endif
99 #endif
100 
101 #ifndef MP_DEBUG
102 #define MP_DEBUG      0  /* print diagnostic output?            */
103 #endif
104 
105 #ifndef MP_DEFPREC
106 #define MP_DEFPREC    64 /* default precision, in digits        */
107 #endif
108 
109 #ifndef MP_MACRO
110 #define MP_MACRO      0  /* use macros for frequent calls?      */
111 #endif
112 
113 #ifndef MP_SQUARE
114 #define MP_SQUARE     1  /* use separate squaring code?         */
115 #endif
116 
117 #endif /* _MPI_CONFIG_H */
118