It is possible to specify the argument type for a function in Julia like :
addition(x::Int64,y::Int64). I can, simultaneously, define another function with the same name :
Is it possible to also specify the above function such that instead of a restriction on type, I specify a restriction on the values
y can take? So, for example, I could say that if
x takes values between 1.0 and 15.0 then use one definition of
addition and if it take values above 15.0 then use another definition.
So basically I would like to specify the range of values that the arguments of a function can take, like in Mathematica one can do :
addition[i_, j_] /; 0.0 <= i <= 15.0 && 0.0 <= j <= 15.0 := i + j.
There is nothing special about what Mathematica does here, every programming language in history can do this, and Julia too.
addition[i_, j_] /; 0.0 <= i <= 15.0 && 0.0 <= j <= 15.0 := i + j
addition(i, j) = (0<=i<=15) && (0<=i<=15) && return i+j
But what should the function do if the inputs do not fall within the ranges? Right now it will return