14 lines
289 B
Text
14 lines
289 B
Text
function extendedsqrt(x)
|
|
try sqrt(x)
|
|
catch
|
|
if x isa Number
|
|
sqrt(complex(x, 0))
|
|
else
|
|
throw(DomainError())
|
|
end
|
|
end
|
|
end
|
|
|
|
@show extendedsqrt(1) # 1
|
|
@show extendedsqrt(-1) # 0.0 + 1.0im
|
|
@show extendedsqrt('x') # ERROR: DomainError
|