File: node62.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-- 4,920 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>Independent and borrowed arrays</TITLE>
<META NAME="description" CONTENT="Independent and borrowed arrays">
<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="node63.html">
<LINK REL="previous" HREF="node61.html">
<LINK REL="up" HREF="node59.html">
<LINK REL="next" HREF="node63.html">
</HEAD>

<BODY >

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1580"
  HREF="node63.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1574"
  HREF="node59.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1568"
  HREF="node61.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1576"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1578"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1581"
  HREF="node63.html">The Life of an</A>
<B> Up:</B> <A NAME="tex2html1575"
  HREF="node59.html">Arrays</A>
<B> Previous:</B> <A NAME="tex2html1569"
  HREF="node61.html">SIDL Language Features</A>
 &nbsp; <B>  <A NAME="tex2html1577"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1579"
  HREF="node317.html">Index</A></B> 
<BR>
<BR></DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION02443000000000000000"></A>
<A NAME="2646"></A><A NAME="2647"></A>
<BR>
Independent and borrowed arrays
</H2>

<P>
From a memory perspective, there are two main kinds of arrays:
independent and borrowed. The independent arrays owns and manages its
data.  It allocates space for the array elements when the array is
created, and it deallocates that space when the array is finally
destroyed.

<P>
The borrowed array does not own or manage its data. It borrows its
array element data from another source that it cannot manage, and it
only allocates space for the index bounds and stride information. The
rationale for borrowed arrays is to allow data from another source to
temporarily appear as a SIDL array without requiring data be copied.

<P>
If you <TT>slice</TT> an independent array, the resulting array is also
considered independent even though it borrows data from the original
independent array.  The resulting array can still manage its data by
retaining a reference to the original array; hence, its element data
cannot disappear until the resulting array is destroyed.
If you <TT>slice</TT> a borrowed array, the resulting array is also
borrowed because like its original array, it doesn't manage the
underlying data.

<P>
In the Babel generated code, r-arrays are converted to borrowed
arrays. These borrowed arrays are allocated on the stack rather than
on the heap to improve performance of r-arrays.

<P>

<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1580"
  HREF="node63.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1574"
  HREF="node59.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1568"
  HREF="node61.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1576"
  HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1578"
  HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1581"
  HREF="node63.html">The Life of an</A>
<B> Up:</B> <A NAME="tex2html1575"
  HREF="node59.html">Arrays</A>
<B> Previous:</B> <A NAME="tex2html1569"
  HREF="node61.html">SIDL Language Features</A>
 &nbsp; <B>  <A NAME="tex2html1577"
  HREF="node14.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1579"
  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>