"Testing imaginary unit"

clear

T = (-1)^(1/2)
check(infixform(T)="i")
T = (-1)^(3/2)
check(infixform(T)="-i")
T = (-1)^(5/2)
check(infixform(T)="i")
T = (-1)^(7/2)
check(infixform(T)="-i")

T = (-1)^(9/2)
check(infixform(T)="i")
T = (-1)^(11/2)
check(infixform(T)="-i")
T = (-1)^(13/2)
check(infixform(T)="i")
T = (-1)^(15/2)
check(infixform(T)="-i")

T = (-1)^(-1/2)
check(infixform(T)="-i")
T = (-1)^(-3/2)
check(infixform(T)="i")
T = (-1)^(-5/2)
check(infixform(T)="-i")
T = (-1)^(-7/2)
check(infixform(T)="i")

T = (-1)^(-9/2)
check(infixform(T)="-i")
T = (-1)^(-11/2)
check(infixform(T)="i")
T = (-1)^(-13/2)
check(infixform(T)="-i")
T = (-1)^(-15/2)
check(infixform(T)="i")

T = (-1)^(1/8)
check(prefixform(T)="(^ -1 1/8)")
T = (-1)^(3/8)
check(prefixform(T)="(^ -1 3/8)")
T = (-1)^(5/8)
check(prefixform(T)="(* -1 (^ -1 -3/8))")
T = (-1)^(7/8)
check(prefixform(T)="(* -1 (^ -1 -1/8))")
T = (-1)^(9/8)
check(prefixform(T)="(* -1 (^ -1 1/8))")
T = (-1)^(11/8)
check(prefixform(T)="(* -1 (^ -1 3/8))")
T = (-1)^(13/8)
check(prefixform(T)="(^ -1 -3/8)")
T = (-1)^(15/8)
check(prefixform(T)="(^ -1 -1/8)")

T = (-1)^(17/8)
check(prefixform(T)="(^ -1 1/8)")
T = (-1)^(19/8)
check(prefixform(T)="(^ -1 3/8)")
T = (-1)^(21/8)
check(prefixform(T)="(* -1 (^ -1 -3/8))")
T = (-1)^(23/8)
check(prefixform(T)="(* -1 (^ -1 -1/8))")
T = (-1)^(25/8)
check(prefixform(T)="(* -1 (^ -1 1/8))")
T = (-1)^(27/8)
check(prefixform(T)="(* -1 (^ -1 3/8))")
T = (-1)^(29/8)
check(prefixform(T)="(^ -1 -3/8)")
T = (-1)^(31/8)
check(prefixform(T)="(^ -1 -1/8)")

T = (-1)^(-1/8)
check(prefixform(T)="(^ -1 -1/8)")
T = (-1)^(-3/8)
check(prefixform(T)="(^ -1 -3/8)")
T = (-1)^(-5/8)
check(prefixform(T)="(* -1 (^ -1 3/8))")
T = (-1)^(-7/8)
check(prefixform(T)="(* -1 (^ -1 1/8))")
T = (-1)^(-9/8)
check(prefixform(T)="(* -1 (^ -1 -1/8))")
T = (-1)^(-11/8)
check(prefixform(T)="(* -1 (^ -1 -3/8))")
T = (-1)^(-13/8)
check(prefixform(T)="(^ -1 3/8)")
T = (-1)^(-15/8)
check(prefixform(T)="(^ -1 1/8)")

T = (-1)^(-17/8)
check(prefixform(T)="(^ -1 -1/8)")
T = (-1)^(-19/8)
check(prefixform(T)="(^ -1 -3/8)")
T = (-1)^(-21/8)
check(prefixform(T)="(* -1 (^ -1 3/8))")
T = (-1)^(-23/8)
check(prefixform(T)="(* -1 (^ -1 1/8))")
T = (-1)^(-25/8)
check(prefixform(T)="(* -1 (^ -1 -1/8))")
T = (-1)^(-27/8)
check(prefixform(T)="(* -1 (^ -1 -3/8))")
T = (-1)^(-29/8)
check(prefixform(T)="(^ -1 3/8)")
T = (-1)^(-31/8)
check(prefixform(T)="(^ -1 1/8)")

-- floating point

T = (-1)^(1/2.0)
check(infixform(T)="i")
T = (-1)^(3/2.0)
check(infixform(T)="-i")
T = (-1)^(5/2.0)
check(infixform(T)="i")
T = (-1)^(7/2.0)
check(infixform(T)="-i")

T = (-1)^(9/2.0)
check(infixform(T)="i")
T = (-1)^(11/2.0)
check(infixform(T)="-i")
T = (-1)^(13/2.0)
check(infixform(T)="i")
T = (-1)^(15/2.0)
check(infixform(T)="-i")

T = (-1)^(-1/2.0)
check(infixform(T)="-i")
T = (-1)^(-3/2.0)
check(infixform(T)="i")
T = (-1)^(-5/2.0)
check(infixform(T)="-i")
T = (-1)^(-7/2.0)
check(infixform(T)="i")

T = (-1)^(-9/2.0)
check(infixform(T)="-i")
T = (-1)^(-11/2.0)
check(infixform(T)="i")
T = (-1)^(-13/2.0)
check(infixform(T)="-i")
T = (-1)^(-15/2.0)
check(infixform(T)="i")
