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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1066 - (hide annotations) (download) (as text)
Sun Jan 7 10:02:41 2007 UTC (17 years, 9 months ago) by johnpye
File MIME type: text/x-chdr
File size: 5651 byte(s)
Adding doxygen 'addtogroup' for Solver, Compiler, Integrator.
1 jds 54 /*
2 aw0a 1 * 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 jds 54 /** @file
33 aw0a 1 * Byte length calculation routines for atoms/relations.
34     * Routines provided to fill the byte length field of the type description.
35 jds 54 * <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 aw0a 1 */
42    
43 johnpye 1066 #ifndef ASC_ATOMSIZE_H
44     #define ASC_ATOMSIZE_H
45 jds 54
46 johnpye 1066 /** addtogroup compiler Compiler
47     @{
48     */
49    
50 jds 54 extern unsigned long ConstantByteLength(enum inst_t it);
51     /**<
52     * <!-- unsigned long ConstantByteLength(it) -->
53     * <!-- enum inst_t it; -->
54 aw0a 1 * Returns the number of bytes needed for the Constant instance of type it.
55     */
56    
57 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 jds 54 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 aw0a 1 * 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 johnpye 1066 /* @} */
128 jds 54
129 johnpye 1066 #endif /* ASC_ATOMSIZE_H */
130    

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