scalar utilities
int infix operator !(int n; int k) precedence infix *;
print 6!3; Output: 20
typedef aggregate _AGG_iii { int d,a,b; } AGG_iii;
MATRIX prefix operator Compmat(const MATRIX & A) precedence 28;
VECTOR prefix operator Factor(unsigned long n) precedence 28;
print Factor 12; Output: (2 2 3)
int prefix operator IsPrime(unsigned long n) precedence 28;
if ( IsPrime n ) print "n is prime"; else print "n is not prime";
VECTOR prefix operator Primes(unsigned long int Dim) precedence 28;
print Primes 5; Output: (2 3 5)
double prefix operator Remainder(double x, double y) precedence 28;
print Remainder(-6,4) Output: -2
VECTOR prefix operator [](int Dimension, double ...);
v = [1,2,3];
COMPLEX_VECTOR prefix operator [](int Dimension, COMPLEX ...);
v = [1+3*I,2,3];
MATRIX prefix operator [](int Dimension, const VECTOR & ...);
M = [[1,2,3],[4,5,6],[7,8,9]];
COMPLEX_MATRIX prefix operator [](int Dimension, const COMPLEX_VECTOR & ...);
M = [[1,2,3],[4,I,6],[7,8,9]];
int prefix operator gcd(int m, int n) precedence 28;
print gcd(8,6); Output: 2
AGG_iii prefix operator gcd(int m, int n) precedence 28;
(d,a,b) = gcd(m,n);
int prefix operator lcm(int m, int n) precedence 28;
print lcm(8,6); Output: 24
double prefix operator relerr(const double x, const double y) precedence 28;
VECTOR prefix operator relerr(const VECTOR &x, const VECTOR &y);
VECTOR prefix operator relerr(const COMPLEX_VECTOR &x, const COMPLEX_VECTOR &y);
MATRIX prefix operator relerr(const MATRIX &x, const MATRIX &y);
MATRIX prefix operator relerr(const COMPLEX_MATRIX &x, const COMPLEX_MATRIX &y);
double prefix operator rnd(double x, int digits, int mode) precedence 28;
double prefix operator rnd(double x, int digits);
VECTOR prefix operator rnd(const VECTOR & x, int digits, int mode);
VECTOR prefix operator rnd(const VECTOR & x, int digits);
MATRIX prefix operator rnd(const MATRIX & x, int digits, int mode);
MATRIX prefix operator rnd(const MATRIX & x, int digits);
VECTOR prefix operator xRange(double a, double b, int n) precedence 28;
VECTOR prefix operator xRange(double a, double b) precedence 28;