/[ascend]/trunk/base/generic/compiler/atomsize.h
ViewVC logotype

Contents of /trunk/base/generic/compiler/atomsize.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1066 - (show annotations) (download) (as text)
Sun Jan 7 10:02:41 2007 UTC (17 years, 8 months ago) by johnpye
File MIME type: text/x-chdr
File size: 5651 byte(s)
Adding doxygen 'addtogroup' for Solver, Compiler, Integrator.
1 /*
2 * Ascend Instance Atom Size Functions.
3 * by Tom Epperly & Ben Allan
4 * 8/16/89
5 * Version: $Revision: 1.4 $
6 * Version control file: $RCSfile: atomsize.h,v $
7 * Date last modified: $Date: 1997/07/18 12:28:03 $
8 * Last modified by: $Author: mthomas $
9 *
10 * This file is part of the Ascend Language Interpreter.
11 *
12 * Copyright (C) 1996 Benjamin Andrew Allan
13 * based on instance.c
14 * Copyright (C) 1990, 1993, 1994 Thomas Guthrie Epperly
15 *
16 * The Ascend Language Interpreter is free software; you can redistribute
17 * it and/or modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * The Ascend Language Interpreter is distributed in hope that it will be
22 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with the program; if not, write to the Free Software Foundation,
28 * Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named
29 * COPYING.
30 */
31
32 /** @file
33 * Byte length calculation routines for atoms/relations.
34 * Routines provided to fill the byte length field of the type description.
35 * <pre>
36 * When #including atomsize.h, make sure these files are #included first:
37 * #include "utilities/ascConfig.h"
38 * #include "instance_enum.h"
39 * #include "childinfo.h"
40 * </pre>
41 */
42
43 #ifndef ASC_ATOMSIZE_H
44 #define ASC_ATOMSIZE_H
45
46 /** addtogroup compiler Compiler
47 @{
48 */
49
50 extern unsigned long ConstantByteLength(enum inst_t it);
51 /**<
52 * <!-- unsigned long ConstantByteLength(it) -->
53 * <!-- enum inst_t it; -->
54 * Returns the number of bytes needed for the Constant instance of type it.
55 */
56
57 extern unsigned long RealAtomByteLength(unsigned long num_children,
58 CONST struct ChildDesc *c);
59 /**<
60 * <!-- unsigned long RealAtomByteLength(num_children,c) -->
61 * <!-- unsigned long num_children; -->
62 * <!-- const struct ChildDesc *c; -->
63 * Given the number of children and descriptions of the children, this
64 * routine will calculate the number of bytes needed for the instance.
65 */
66
67 extern unsigned long IntegerAtomByteLength(unsigned long num_children,
68 CONST struct ChildDesc *c);
69 /**<
70 * <!-- unsigned long IntegerAtomByteLength(num_children,c) -->
71 * <!-- unsigned long num_children; -->
72 * <!-- const struct ChildDesc *c; -->
73 * Given the number of children and descriptions of the children, this
74 * routine will calculate the number of bytes needed for the instance.
75 */
76
77 extern unsigned long BooleanAtomByteLength(unsigned long num_children,
78 CONST struct ChildDesc *c);
79 /**<
80 * <!-- unsigned long BooleanAtomByteLength(num_children,c) -->
81 * <!-- unsigned long num_children; -->
82 * <!-- const struct ChildDesc *c; -->
83 * Given the number of children and descriptions of the children, this
84 * routine will calculate the number of bytes needed for the instance.
85 */
86
87 extern unsigned long SetAtomByteLength(unsigned long num_children,
88 CONST struct ChildDesc *c);
89 /**<
90 * <!-- unsigned long SetAtomByteLength(num_children,c) -->
91 * <!-- unsigned long num_children; -->
92 * <!-- const struct ChildDesc *c; -->
93 * Given the number of children and descriptions of the children, this
94 * routine will calculate the number of bytes needed for the instance.
95 */
96
97 extern unsigned long SymbolAtomByteLength(unsigned long num_children,
98 CONST struct ChildDesc *c);
99 /**<
100 * <!-- unsigned long SymbolAtomByteLength(num_children,c) -->
101 * <!-- unsigned long num_children; -->
102 * <!-- const struct ChildDesc *c; -->
103 * Given the number of children and descriptions of the children, this
104 * routine will calculate the number of bytes needed for the instance.
105 */
106
107 extern unsigned long RelationAtomByteLength(unsigned long num_children,
108 CONST struct ChildDesc *c);
109 /**<
110 * <!-- unsigned long RelationAtomByteLength(num_children,c) -->
111 * <!-- unsigned long num_children; -->
112 * <!-- const struct ChildDesc *c; -->
113 * Given the number of children and descriptions of the children, this
114 * routine will calculate the number of bytes needed for the instance.
115 */
116
117 extern unsigned long LogRelAtomByteLength(unsigned long num_children,
118 CONST struct ChildDesc *c);
119 /**<
120 * <!-- unsigned long LogRelAtomByteLength(num_children,c) -->
121 * <!-- unsigned long num_children; -->
122 * <!-- const struct ChildDesc *c; -->
123 * Given the number of children and descriptions of the children, this
124 * routine will calculate the number of bytes needed for the instance.
125 */
126
127 /* @} */
128
129 #endif /* ASC_ATOMSIZE_H */
130

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22