File: node55.html

package info (click to toggle)
babel 0.10.2-1
  • links: PTS
  • area: contrib
  • in suites: sarge
  • size: 43,932 kB
  • ctags: 29,707
  • sloc: java: 74,695; ansic: 73,142; cpp: 40,649; sh: 18,411; f90: 10,062; fortran: 6,727; python: 6,406; makefile: 3,866; xml: 118; perl: 48
file content (130 lines) | stat: -rw-r--r-- 5,043 bytes parent folder | download | duplicates (2)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Numeric Types</TITLE>
<META NAME="description" CONTENT="Numeric Types">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="users_guide.css">

<LINK REL="next" HREF="node56.html">
<LINK REL="previous" HREF="node54.html">
<LINK REL="up" HREF="node54.html">
<LINK REL="next" HREF="node56.html">
</HEAD>

<BODY >

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1444"
  HREF="node56.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1438"
  HREF="node54.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1432"
  HREF="node54.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1440"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1442"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1445"
  HREF="node56.html">Strings</A>
<B> Up:</B> <A NAME="tex2html1439"
  HREF="node54.html">Fundamental Types</A>
<B> Previous:</B> <A NAME="tex2html1433"
  HREF="node54.html">Fundamental Types</A>
 &nbsp; <B>  <A NAME="tex2html1441"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1443"
  HREF="node317.html">Index</A></B> 
<BR>
<BR></DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION02431000000000000000"></A><A NAME="ssec:basics:fundamental:numbers"></A><A NAME="2151"></A><A NAME="2152"></A>
<BR>
Numeric Types
</H2>

<P>
The SIDL types <TT><I CLASS="slanted">bool</I></TT>, <TT><I CLASS="slanted">char</I></TT>, <TT><I CLASS="slanted">int</I></TT>, 
<TT><I CLASS="slanted">long</I></TT>, <TT><I CLASS="slanted">float</I></TT>, <TT><I CLASS="slanted">double</I></TT>, <TT><I CLASS="slanted">fcomplex</I></TT>, 
and <TT><I CLASS="slanted">dcomplex</I></TT> are the smallest and easiest data
types to transfer between languages transparently.
They all have a fixed size and can just as 
reasonably be copied as passed by reference.

<P>
Most languages natively support all of these data types
(though perhaps less so with complex types).  There are 
a few notable exceptions that may be of interest. 

<P>
ANSI C does not define the size of 
<TT>int</TT> and <TT>long</TT>, only that the latter be at least
as big as the former.  As of the C99 standard, there
are types <TT>int32_t</TT> and <TT>int64_t</TT> that
are signed integers that explicitly support a fixed number of bits.  
Most compilers already have these symbols defined appropriately
in <TT>sys/types.h</TT> (pre C99 standard) or  <TT>inttypes.h</TT>.

<P>
Python defines its <TT>int</TT> and <TT>long</TT> to be equivalent
to C, and therefore suffers the same platform dependent 
integer size problem with less flexibility for a workaround.
It is not uncommon for regression tests involving longs and 
Python to fail on certain platforms. Python 2.2 has a patch to make
SIDL long support better.

<P>

<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1444"
  HREF="node56.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1438"
  HREF="node54.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1432"
  HREF="node54.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1440"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1442"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1445"
  HREF="node56.html">Strings</A>
<B> Up:</B> <A NAME="tex2html1439"
  HREF="node54.html">Fundamental Types</A>
<B> Previous:</B> <A NAME="tex2html1433"
  HREF="node54.html">Fundamental Types</A>
 &nbsp; <B>  <A NAME="tex2html1441"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1443"
  HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>