;min;max;;;;;; signed n;-(2^(n-1));(2^(n-1))-1;;;;;; signed 3;-4;3;;;;;; signed 4;-8;7;;;;;; unsigned n;0;(2^n)-1;;;;;; unsigned 3;0;7;;;;;; unsigned 4;0;15;;;;;; ;;;;;;;; ;;;;mathematical = Matlab;;;std_logic_arith;numeric_std ;OP;arg1;arg2;type;min;max;; ;+;signed n;signed m;signed max(n,m)+1;"min(arg1)+min(arg2) = -(2^(n-1)) - (2^(m-1))";"max(arg1)+max(arg2) = (2^(n-1)) + (2^(m-1))-2";signed max(n, m);signed max(n, m) ;;signed 3;signed 4;signed 5;-12;10;; ;;unsigned n;unsigned m;unsigned max(n,m)+1;min(arg1)+min(arg2) = 0;"max(arg1)+max(arg2) = (2^n)+(2^m)-2";unsigned max(n, m);unsigned max(n, m) ;;unsigned 3;unsigned 4;unsigned 5;0;22;; ;;signed n;unsigned m;signed max(n,m+1)+1;"min(arg1)+min(arg2) = -(2^(n-1))";"max(arg1)+max(arg2) = (2^(n-1)) + (2^m)-2";signed max(n, m+1); ;;signed 4;unsigned 3;signed 5;-8;14;; ;;signed 3;unsigned 4;signed 6;-4;18;; ;- (binary);signed n;signed m;signed max(n,m)+1;"min(arg1)-max(arg2) = -(2^(n-1))-(2^(m-1))+1";"max(arg1)-min(arg2) = (2^(n-1))-1 + (2^(m-1))";signed max(n, m);signed max(n, m) ;;signed 4;signed 3;signed 5;-11;11;; ;;signed 3;signed 4;signed 5;-11;11;; ;;unsigned n;unsigned m;signed max(n,m)+1;"min(arg1)-max(arg2) = -(2^m)+1";"max(arg1)-min(arg2) = (2^n)-1";unsigned max(n, m);unsigned max(n, m) ;;unsigned 4;unsigned 3;signed 5;-7;15;; ;;unsigned 3;unsigned 4;signed 5;-15;7;; ;;signed n;unsigned m;signed max(n,m+1)+1;"min(arg1)-max(arg2) = -(2^(n-1))-(2^m)+1";"max(arg1)-min(arg2) = 2^(n-1))-1";signed max(n, m+1); ;;signed 4;unsigned 3;signed 5;-15;7;; ;;signed 3;unsigned 4;signed 6;-19;3;; ;;unsigned n;signed m;signed max(n+1,m)+1;"min(arg1)-max(arg2) = -(2^(m-1))+1";"max(arg1)-min(arg2) = (2^n)-1 + (2^(m-1))";signed max(n+1, m); ;;unsigned 4;signed 3;signed 6;-3;19;; ;;unsigned 3;signed 4;signed 5;-7;15;; ;- (unary);signed n;;signed (n+1);-max(arg1) = -(2^(n-1))+1;-min(arg1) = (2^(n-1));signed n;signed n ;;signed 4;;signed 5;-7;8;; ;;unsigned n;;signed (n+1);-max(arg1) = -((2^n)-1);-min(arg1) = 0;; ;;unsigned 4;;signed 5;-15;0;; ;*;signed n;signed m;signed (n+m);"n<=m: min(arg1)*max(arg2) = -(2^(n-1))*((2^(m-1))-1) n>=m: max(arg1)*min(arg2) = -(2^(m-1))*((2^(n-1))-1)";"min(arg1)* min(arg2) = (2^(n-1)) * (2^(n-1))";signed n+m;signed n+m ;;signed 3;signed 4;signed 7;-28;32;; ;;unsigned n;unsigned m;unsigned (n+m);min(arg1)*min(arg2) = 0;"max(arg1)*max(arg2) = ((2^n)-1)*((2^m)-1) = 2^(n+m)-2^n-2^m+1";unsigned (n+m);unsigned (n+m) ;;unsigned 3;unsigned 4;unsigned 7;0;105;; ;;signed n;unsigned m;signed (n+m);"min(arg1)*max(arg2) = -(2^(n-1)) * ((2^m)-1)";"max(arg1)*max(arg2) = (2^(n-1)-1) * ((2^m)-1)";signed n+m+1; ;;signed 4;unsigned 3;signed 7;-56;49;; ;;signed 3;unsigned 4;signed 7;-60;45;; ;/;signed n;signed m;signed n+1;;;; ;;signed 3;signed 4;signed 4;-4;4;; ;;signed 4;signed 3;signed 5;-8;8;; ;;unsigned n;unsigned m;unsigned n;;;; ;;unsigned 3;unsigned 4;unsigned 3;0;7;; ;;signed n;unsigned m;signed;;;; ;;unsigned m;signed m;signed;;;; ;abs;signed n;;signed n+1;-(2^(n-1))+1;2^(n-1);; ;;signed 3;;signed 4;-3;4;; ;;;;;;;; Meaning:;range not sufficient;;;;;;; ;range larger than needed;;;;;;; ;example;;;;;;; ;function not available;;;;;;;