xref: /illumos-gate/usr/src/common/mpi/mpi-config.h (revision f998c95e3b7029fe5f7542e115f7474ddb8024d7)
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 #pragma ident	"%Z%%M%	%I%	%E% SMI"
50 
51 /* $Id: mpi-config.h,v 1.5 2004/04/25 15:03:10 gerv%gerv.net Exp $ */
52 
53 /*
54   For boolean options,
55   0 = no
56   1 = yes
57 
58   Other options are documented individually.
59 
60  */
61 
62 #ifndef MP_IOFUNC
63 #define MP_IOFUNC     0  /* include mp_print() ?                */
64 #endif
65 
66 #ifndef MP_MODARITH
67 #define MP_MODARITH   1  /* include modular arithmetic ?        */
68 #endif
69 
70 #ifndef MP_NUMTH
71 #define MP_NUMTH      1  /* include number theoretic functions? */
72 #endif
73 
74 #ifndef MP_LOGTAB
75 #define MP_LOGTAB     1  /* use table of logs instead of log()? */
76 #endif
77 
78 #ifndef MP_MEMSET
79 #define MP_MEMSET     1  /* use memset() to zero buffers?       */
80 #endif
81 
82 #ifndef MP_MEMCPY
83 #define MP_MEMCPY     1  /* use memcpy() to copy buffers?       */
84 #endif
85 
86 #ifndef MP_CRYPTO
87 #define MP_CRYPTO     1  /* erase memory on free?               */
88 #endif
89 
90 #ifndef MP_ARGCHK
91 /*
92   0 = no parameter checks
93   1 = runtime checks, continue execution and return an error to caller
94   2 = assertions; dump core on parameter errors
95  */
96 #ifdef DEBUG
97 #define MP_ARGCHK     2  /* how to check input arguments        */
98 #else
99 #define MP_ARGCHK     1  /* how to check input arguments        */
100 #endif
101 #endif
102 
103 #ifndef MP_DEBUG
104 #define MP_DEBUG      0  /* print diagnostic output?            */
105 #endif
106 
107 #ifndef MP_DEFPREC
108 #define MP_DEFPREC    64 /* default precision, in digits        */
109 #endif
110 
111 #ifndef MP_MACRO
112 #define MP_MACRO      0  /* use macros for frequent calls?      */
113 #endif
114 
115 #ifndef MP_SQUARE
116 #define MP_SQUARE     1  /* use separate squaring code?         */
117 #endif
118 
119 #endif /* _MPI_CONFIG_H */
120