# Diff of /trunk/escript/test/python/UnaryOps.py

trunk/esys2/escript/test/python/UnaryOps.py revision 148 by jgs, Tue Aug 23 01:24:31 2005 UTC trunk/escript/test/python/UnaryOps.py revision 314 by jgs, Tue Dec 6 00:55:22 2005 UTC
# Line 2  import sys Line 2  import sys
2  import unittest  import unittest
3  import os  import os
4
5  from escript.escript import *  from esys.escript import *
6  from finley import finley  from esys import bruce
7
8  import numarray  import numarray
9
# Line 117  def isScalar(arg): Line 117  def isScalar(arg):
117  # test unary operators:  # test unary operators:
118  #  #
119
120  msh=finley.Rectangle(20,6,1)  msh=bruce.Rectangle(20,6)
121  for wh in [ContinuousFunction(msh),Function(msh)]:  for wh in [ContinuousFunction(msh),Function(msh)]:
122
123    print wh    print wh
# Line 139  for wh in [ContinuousFunction(msh),Funct Line 139  for wh in [ContinuousFunction(msh),Funct
139        # + identity:        # + identity:
140        ref=checkResult("+"+ex1, \        ref=checkResult("+"+ex1, \
141                        +arg1, \                        +arg1, \
142                        +arrays1[0], \                        arrays1[0], \
143                        +arrays1[1], \                        arrays1[1], \
144                        +arrays1[2], \                        arrays1[2], \
145                        wh)                        wh)
146
147        # - negation:        # - negation:
# Line 154  for wh in [ContinuousFunction(msh),Funct Line 154  for wh in [ContinuousFunction(msh),Funct
154
155        # where positive:        # where positive:
156        ref=checkResult("where positive("+ex1+")", \        ref=checkResult("where positive("+ex1+")", \
157                        (arg1-3).wherePositive(), \                        (arg1-3)._wherePositive(), \
158                        numarray.greater(arrays1[0],3.), \                        numarray.greater(arrays1[0],3.), \
159                        numarray.greater(arrays1[1],3.), \                        numarray.greater(arrays1[1],3.), \
160                        numarray.greater(arrays1[2],3.), \                        numarray.greater(arrays1[2],3.), \
# Line 162  for wh in [ContinuousFunction(msh),Funct Line 162  for wh in [ContinuousFunction(msh),Funct
162
163        # where negative:        # where negative:
164        ref=checkResult("where negative("+ex1+")", \        ref=checkResult("where negative("+ex1+")", \
165                        (arg1-3).whereNegative(), \                        (arg1-3)._whereNegative(), \
166                        numarray.greater(3.,arrays1[0]), \                        numarray.greater(3.,arrays1[0]), \
167                        numarray.greater(3.,arrays1[1]), \                        numarray.greater(3.,arrays1[1]), \
168                        numarray.greater(3.,arrays1[2]), \                        numarray.greater(3.,arrays1[2]), \
# Line 170  for wh in [ContinuousFunction(msh),Funct Line 170  for wh in [ContinuousFunction(msh),Funct
170
171        # where non-negative:        # where non-negative:
172        ref=checkResult("where nonnegative("+ex1+")", \        ref=checkResult("where nonnegative("+ex1+")", \
173                        (arg1-3).whereNonNegative(), \                        (arg1-3)._whereNonNegative(), \
174                        numarray.greater_equal(arrays1[0],3.), \                        numarray.greater_equal(arrays1[0],3.), \
175                        numarray.greater_equal(arrays1[1],3.), \                        numarray.greater_equal(arrays1[1],3.), \
176                        numarray.greater_equal(arrays1[2],3.), \                        numarray.greater_equal(arrays1[2],3.), \
# Line 178  for wh in [ContinuousFunction(msh),Funct Line 178  for wh in [ContinuousFunction(msh),Funct
178
179        # where non-positive:        # where non-positive:
180        ref=checkResult("where nonpositive("+ex1+")", \        ref=checkResult("where nonpositive("+ex1+")", \
181                        (arg1-3).whereNonPositive(), \                        (arg1-3)._whereNonPositive(), \
182                        numarray.greater_equal(3.,arrays1[0]), \                        numarray.greater_equal(3.,arrays1[0]), \
183                        numarray.greater_equal(3.,arrays1[1]), \                        numarray.greater_equal(3.,arrays1[1]), \
184                        numarray.greater_equal(3.,arrays1[2]), \                        numarray.greater_equal(3.,arrays1[2]), \
# Line 186  for wh in [ContinuousFunction(msh),Funct Line 186  for wh in [ContinuousFunction(msh),Funct
186
187        # where zero:        # where zero:
188        ref=checkResult("where zero("+ex1+")", \        ref=checkResult("where zero("+ex1+")", \
189                        (arg1-3).whereZero(), \                        (arg1-3)._whereZero(), \
190                        numarray.less_equal(numarray.abs(arrays1[0]-3.),0.0), \                        numarray.less_equal(numarray.abs(arrays1[0]-3.),0.0), \
191                        numarray.less_equal(numarray.abs(arrays1[1]-3.),0.0), \                        numarray.less_equal(numarray.abs(arrays1[1]-3.),0.0), \
192                        numarray.less_equal(numarray.abs(arrays1[2]-3.),0.0), \                        numarray.less_equal(numarray.abs(arrays1[2]-3.),0.0), \
# Line 194  for wh in [ContinuousFunction(msh),Funct Line 194  for wh in [ContinuousFunction(msh),Funct
194
195        # where non-zero:        # where non-zero:
196        ref=checkResult("where nonzero("+ex1+")", \        ref=checkResult("where nonzero("+ex1+")", \
197                        (arg1-3).whereNonZero(), \                        (arg1-3)._whereNonZero(), \
198                        numarray.greater(numarray.abs(arrays1[0]-3.),0.0), \                        numarray.greater(numarray.abs(arrays1[0]-3.),0.0), \
199                        numarray.greater(numarray.abs(arrays1[1]-3.),0.0), \                        numarray.greater(numarray.abs(arrays1[1]-3.),0.0), \
200                        numarray.greater(numarray.abs(arrays1[2]-3.),0.0), \                        numarray.greater(numarray.abs(arrays1[2]-3.),0.0), \
# Line 202  for wh in [ContinuousFunction(msh),Funct Line 202  for wh in [ContinuousFunction(msh),Funct
202
203        # exponential function:        # exponential function:
204        ref=checkResult("exp("+ex1+")", \        ref=checkResult("exp("+ex1+")", \
205                        arg1.exp(), \                        arg1._exp(), \
206                        numarray.exp(arrays1[0]), \                        numarray.exp(arrays1[0]), \
207                        numarray.exp(arrays1[1]), \                        numarray.exp(arrays1[1]), \
208                        numarray.exp(arrays1[2]), \                        numarray.exp(arrays1[2]), \
209                        wh)                        wh)
210
211        # sqrt        # sqrt
212        ref=checkResult("sqrt("+ex1+")", \        #ref=checkResult("sqrt("+ex1+")", \
213                        arg1.abs().sqrt(), \        #                arg1._abs()._sqrt(), \
214                        numarray.sqrt(numarray.abs(arrays1[0])), \        #                numarray.sqrt(numarray.abs(arrays1[0])), \
215                        numarray.sqrt(numarray.abs(arrays1[1])), \        #                numarray.sqrt(numarray.abs(arrays1[1])), \
216                        numarray.sqrt(numarray.abs(arrays1[2])), \        #                numarray.sqrt(numarray.abs(arrays1[2])), \
217                        wh)        #                wh)
218
219        # sin:        # sin:
220        ref=checkResult("sin("+ex1+")", \        ref=checkResult("sin("+ex1+")", \
221                        arg1.sin(), \                        arg1._sin(), \
222                        numarray.sin(arrays1[0]), \                        numarray.sin(arrays1[0]), \
223                        numarray.sin(arrays1[1]), \                        numarray.sin(arrays1[1]), \
224                        numarray.sin(arrays1[2]), \                        numarray.sin(arrays1[2]), \
# Line 226  for wh in [ContinuousFunction(msh),Funct Line 226  for wh in [ContinuousFunction(msh),Funct
226
227        # cos:        # cos:
228        ref=checkResult("cos("+ex1+")", \        ref=checkResult("cos("+ex1+")", \
229                        arg1.cos(), \                        arg1._cos(), \
230                        numarray.cos(arrays1[0]), \                        numarray.cos(arrays1[0]), \
231                        numarray.cos(arrays1[1]), \                        numarray.cos(arrays1[1]), \
232                        numarray.cos(arrays1[2]), \                        numarray.cos(arrays1[2]), \
233                        wh)                        wh)
234
235          # tan:
236          ref=checkResult("tan("+ex1+")", \
237                          arg1._tan(), \
238                          numarray.tan(arrays1[0]), \
239                          numarray.tan(arrays1[1]), \
240                          numarray.tan(arrays1[2]), \
241                          wh)
242
243          # asin:
244          #ref=checkResult("asin("+ex1+")", \
245          #                arg1.asin(), \
246          #                numarray.asin(arrays1[0]), \
247          #                numarray.asin(arrays1[1]), \
248          #                numarray.asin(arrays1[2]), \
249          #                wh)
250
251          # acos:
252          #ref=checkResult("acos("+ex1+")", \
253          #                arg1.acos(), \
254          #                numarray.acos(arrays1[0]), \
255          #                numarray.acos(arrays1[1]), \
256          #                numarray.acos(arrays1[2]), \
257          #                wh)
258
259          # atan:
260          #ref=checkResult("atan("+ex1+")", \
261          #                arg1.atan(), \
262          #                numarray.atan(arrays1[0]), \
263          #                numarray.atan(arrays1[1]), \
264          #                numarray.atan(arrays1[2]), \
265          #                wh)
266
267          # sinh:
268          ref=checkResult("sinh("+ex1+")", \
269                          arg1._sinh(), \
270                          numarray.sinh(arrays1[0]), \
271                          numarray.sinh(arrays1[1]), \
272                          numarray.sinh(arrays1[2]), \
273                          wh)
274
275          # cosh:
276          ref=checkResult("cosh("+ex1+")", \
277                          arg1._cosh(), \
278                          numarray.cosh(arrays1[0]), \
279                          numarray.cosh(arrays1[1]), \
280                          numarray.cosh(arrays1[2]), \
281                          wh)
282
283          # tanh:
284          ref=checkResult("tanh("+ex1+")", \
285                          arg1._tanh(), \
286                          numarray.tanh(arrays1[0]), \
287                          numarray.tanh(arrays1[1]), \
288                          numarray.tanh(arrays1[2]), \
289                          wh)
290
291          # asinh:
292          #ref=checkResult("asinh("+ex1+")", \
293          #                arg1.asinh(), \
294          #                numarray.asinh(arrays1[0]), \
295          #                numarray.asinh(arrays1[1]), \
296          #                numarray.asinh(arrays1[2]), \
297          #                wh)
298
299          # acosh:
300          #ref=checkResult("acosh("+ex1+")", \
301          #                arg1.acosh(), \
302          #                numarray.acosh(arrays1[0]), \
303          #                numarray.acosh(arrays1[1]), \
304          #                numarray.acosh(arrays1[2]), \
305          #                wh)
306
307          # atanh:
308          #ref=checkResult("atanh("+ex1+")", \
309          #                arg1.atanh(), \
310          #                numarray.atanh(arrays1[0]), \
311          #                numarray.atanh(arrays1[1]), \
312          #                numarray.atanh(arrays1[2]), \
313          #                wh)
314
315        # get the maximum value at each data point        # get the maximum value at each data point
316        #ref=checkResult("maxval("+ex1+")", \        #ref=checkResult("maxval("+ex1+")", \
317        #                arg1.maxval(), \        #                arg1.maxval(), \
# Line 275  for wh in [ContinuousFunction(msh),Funct Line 355  for wh in [ContinuousFunction(msh),Funct
355
356        # get the signs of the values:        # get the signs of the values:
357        ref=checkResult("sign("+ex1+")", \        ref=checkResult("sign("+ex1+")", \
358                        arg1.sign(), \                        arg1._sign(), \
359                        numarray.greater(arrays1[0],numarray.zeros(arrays1[0].shape)) \                        numarray.greater(arrays1[0],numarray.zeros(arrays1[0].shape)) \
360                          -numarray.less(arrays1[0],numarray.zeros(arrays1[0].shape)),\                          -numarray.less(arrays1[0],numarray.zeros(arrays1[0].shape)),\
361                        numarray.greater(arrays1[1],numarray.zeros(arrays1[1].shape)) \                        numarray.greater(arrays1[1],numarray.zeros(arrays1[1].shape)) \

Legend:
 Removed from v.148 changed lines Added in v.314