Skip to content

Commit a7f619e

Browse files
committed
pow in fact didn't work for *any* interval with a negative part
1 parent f68cf08 commit a7f619e

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/python/interval.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,15 +372,16 @@ def __pow__(self, exponent):
372372
"""
373373
inf = calc_inf()
374374

375-
if not 0 > self: # not wholly negative
375+
if self > 0: # not wholly negative
376376

377377
exponent = self.make_interval(exponent)
378378
return( exp(exponent * log(self)) ) # seems to work! EXCEPT for pure negative intervals
379379

380380

381-
else:
381+
elif 0 > self:
382382
if not exponent == int(exponent): # noninteger exponent not allowed
383383
print ("Negative intervals cannot be raised to a fractional power")
384+
return # Should throw error
384385

385386

386387
#
@@ -433,7 +434,7 @@ def __pow__(self, exponent):
433434
return Interval( lower, upper )
434435

435436
elif 0 > self:
436-
print ("Negative intervals can not be raised to a fractional power")
437+
print ("Negative intervals cannot be raised to a fractional power")
437438

438439
else:
439440
ctx.round = RoundDown

src/python/interval_tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ def plot_interval_f( fun, x, pow2=0, num_points=101 ):
4949
The original function is plotted at num_points points
5050
"""
5151
num_intervals = [ 2**p for p in range(pow2+1) ]
52-
fact_alfa = 0.3 # num*1.0/num_intervals[-1] # for plotting
5352

5453
# plt.figure()
5554
# plt.subplot(1, 1, 1)
5655

5756
for num in num_intervals:
57+
fact_alfa = num * 1.0/num_intervals[-1] # for plotting
5858

5959
subdivided_intervals = split_interval( x, num )
6060
total_range = range_interval_f( fun, subdivided_intervals )

0 commit comments

Comments
 (0)