File: node61.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 (147 lines) | stat: -rw-r--r-- 5,852 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!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>SIDL Language Features</TITLE>
<META NAME="description" CONTENT="SIDL Language Features">
<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="node62.html">
<LINK REL="previous" HREF="node60.html">
<LINK REL="up" HREF="node59.html">
<LINK REL="next" HREF="node62.html">
</HEAD>

<BODY >

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1566"
  HREF="node62.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1560"
  HREF="node59.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1554"
  HREF="node60.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1562"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1564"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1567"
  HREF="node62.html">Independent and borrowed arrays</A>
<B> Up:</B> <A NAME="tex2html1561"
  HREF="node59.html">Arrays</A>
<B> Previous:</B> <A NAME="tex2html1555"
  HREF="node60.html">R-arrays</A>
 &nbsp; <B>  <A NAME="tex2html1563"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1565"
  HREF="node317.html">Index</A></B> 
<BR>
<BR></DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION02442000000000000000"></A><A NAME="ss:sidl_arrays"></A><A NAME="2636"></A>
<BR>
SIDL Language Features
</H2>

<P>
As of release 0.6.5, interface definitions can specify that an
array argument or return value must have a particular ordering for a
method.  The type <TT>array&lt;int, 2, row-major&gt;</TT> indicates a dense,
<A NAME="tex2html27"
  HREF="footnode.html#foot2638"><SUP><SPAN CLASS="arabic">6</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A>two-dimensional array of 32 bit integers in row-major order; and
likewise, the type <TT>array&lt;int, 2, column-major&gt;</TT> indicates an
dense array in column-major order. Some numerical routines can only
provide high performance with a particular type of array. The ordering
is part of the interface definition to give clients the information
they need to use the underlying code efficiently.  The ordering
specification is optional.

<P>
For one-dimensional arrays, specifying <TT>row-major</TT> or
<TT>column-major</TT> allows you to specify that the array must be
dense, that is stride 1. Otherwise, for one-dimensional arrays
row-major and column-major are identical.

<P>
If you pass an array into a method and the array does not have the
specified ordering, the skeleton code will make a copy of the array
with the required ordering and pass the copy to the method.  This
copying is necessary for correctness, but it will cause a decrease in
performance.  The implementor of the method can count on an incoming
array to have the required ordering.

<P>
For <TT>out</TT> parameters and return values, an ordering
specification means that the method promises to return an array with
the specified ordering.  The implementation should create the
<TT>out</TT> arrays with the proper ordering; because if it does not,
the skeleton code will have to copy the outgoing array into a new
array with the required ordering.

<P>
For <TT>inout</TT> parameters, an ordering specification means the
ordering specification will be enforced by the skeleton code for the
incoming and outgoing array value.

<P>
At the time of writing this, the ordering constraints are enforced for
Python implementation because Python uses Numeric Python arrays, so
BABEL cannot control the array ordering as fully.  The Python
skeletons do force outgoing arrays (i.e., arrays passed back from
Python) to have the required ordering.

<P>

<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1566"
  HREF="node62.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1560"
  HREF="node59.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1554"
  HREF="node60.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1562"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1564"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1567"
  HREF="node62.html">Independent and borrowed arrays</A>
<B> Up:</B> <A NAME="tex2html1561"
  HREF="node59.html">Arrays</A>
<B> Previous:</B> <A NAME="tex2html1555"
  HREF="node60.html">R-arrays</A>
 &nbsp; <B>  <A NAME="tex2html1563"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1565"
  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>