/[escript]/trunk/escript/src/DataC.cpp
ViewVC logotype

Contents of /trunk/escript/src/DataC.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 615 - (show annotations)
Wed Mar 22 02:12:00 2006 UTC (13 years, 6 months ago) by elspeth
File size: 3466 byte(s)
More copyright information.

1 // $Id$
2 /*
3 ************************************************************
4 * Copyright 2006 by ACcESS MNRF *
5 * *
6 * http://www.access.edu.au *
7 * Primary Business: Queensland, Australia *
8 * Licensed under the Open Software License version 3.0 *
9 * http://www.opensource.org/licenses/osl-3.0.php *
10 * *
11 ************************************************************
12 */
13
14 extern "C" {
15 #include "DataC.h"
16 }
17
18 #include "Data.h"
19 #include "DataArrayView.h"
20
21 int getFunctionSpaceType(struct escriptDataC* data)
22 {
23 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
24 return temp->getFunctionSpace().getTypeCode();
25 }
26
27
28 int isDataPointShapeEqual(struct escriptDataC* data, int rank, int* dimensions)
29 {
30 if (data == (struct escriptDataC*)0) {
31 return true;
32 } else {
33 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
34 if (temp->isEmpty()) {
35 return true;
36 } else {
37 escript::DataArrayView::ShapeType givenShape(&dimensions[0],&dimensions[rank]);
38 return (temp->getPointDataView().getShape()==givenShape);
39 }
40 }
41 }
42
43 int numSamplesEqual(struct escriptDataC* data, int numDataPointsPerSample,
44 int numSamples)
45 {
46 if (data == (struct escriptDataC*)0) {
47 return true;
48 } else {
49 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
50 if (temp->isEmpty()) {
51 return true;
52 } else {
53 int result=(numDataPointsPerSample==temp->getNumDataPointsPerSample());
54 result=result && (numSamples==temp->getNumSamples());
55 return result;
56 }
57 }
58 }
59
60 int getDataPointRank(struct escriptDataC* data)
61 {
62 if (data == (struct escriptDataC*)0) {
63 return 0;
64 } else {
65 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
66 return temp->getDataPointRank();
67 }
68 }
69
70 int getDataPointShape(struct escriptDataC* data,int i)
71 {
72 if (data == (struct escriptDataC*)0) {
73 return 0;
74 } else {
75 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
76 int rank = temp->getDataPointRank();
77 if (i<0 || i>=rank) {
78 return 1;
79 } else {
80 const escript::DataArrayView::ShapeType view=temp->getDataPointShape();
81 return view[i];
82 }
83 }
84 }
85
86 int getDataPointSize(struct escriptDataC* data)
87 {
88 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
89 return temp->getDataPointSize();
90 }
91
92 int getLength(struct escriptDataC* data)
93 {
94 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
95 return temp->getLength();
96 }
97
98 int isExpanded(struct escriptDataC* data)
99 {
100 if (data == (struct escriptDataC*)0) {
101 return false;
102 } else {
103 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
104 if (temp->isEmpty()) {
105 return false;
106 } else {
107 return temp->isExpanded();
108 }
109 }
110 }
111
112 int isEmpty(escriptDataC* data)
113 {
114 if (data == (struct escriptDataC*)0) {
115 return true;
116 } else {
117 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
118 return temp->isEmpty();
119 }
120 }
121
122
123 double* getSampleData(struct escriptDataC* data, int sampleNo)
124 {
125 if (data == (struct escriptDataC*)0) {
126 return NULL;
127 } else {
128 escript::Data* temp=(escript::Data*)(data->m_dataPtr);
129 if (temp->isEmpty()) {
130 return NULL;
131 } else {
132 return temp->getSampleData(sampleNo);
133 }
134 }
135 }

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26