private static ValueType getHighestCommonTypeSwitch()

in src/main/java/org/apache/sysds/common/Types.java [288:432]


		private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
			switch(a) {
				case CHARACTER:
					switch(b){
						case UNKNOWN:
							return a;
						default:
							return STRING;
					}
				case HASH32:
					switch(b) {
						case UNKNOWN:
							return a;
						case CHARACTER:
							return STRING;
						case HASH64:
						case STRING:
							return b;
						default:
							return a;
					}
				case HASH64:
					switch(b) {
						case UNKNOWN:
							return a;
						case CHARACTER:
							return STRING;
						case STRING:
							return b;
						default:
							return a;
					}
				case STRING:
					switch(b){
						case UNKNOWN:
							return a;
						default:
							return STRING;
					}
				case FP64:
					switch(b) {
						case HASH64:
						case HASH32:
						case CHARACTER:
							return STRING;
						case UNKNOWN:
							return a;
						case STRING:
							return b;
						default:
							return a;
					}
				case FP32:
					switch(b) {
						case HASH64:
						case HASH32:
						case CHARACTER:
							return STRING;
						case STRING:
						case FP64:
							return b;
						case UNKNOWN:
						default:
							return a;
					}
				case INT64:
					switch(b) {
						case HASH64:
						case HASH32:
							return b;
						case CHARACTER:
							return STRING;
						case STRING:
						case FP64:
						case FP32:
							return b;
						case UNKNOWN:
						default:
							return a;
					}
				case INT32:
					switch(b) {
						case HASH64:
						case HASH32:
							return b;
						case CHARACTER:
							return STRING;
						case STRING:
						case FP64:
						case FP32:
						case INT64:
							return b;
						case UNKNOWN:
						default:
							return a;
					}
				case UINT4:
					switch(b) {
						case HASH64:
						case HASH32:
							return b;
						case CHARACTER:
							return STRING;
						case STRING:
						case FP64:
						case FP32:
						case INT64:
						case INT32:
						case UINT8:
							return b;
						case UNKNOWN:
						default:
							return a;
					}
				case UINT8:
					switch(b) {
						case HASH64:
						case HASH32:
							return b;
						case CHARACTER:
							return STRING;
						case STRING:
						case FP64:
						case FP32:
						case INT64:
						case INT32:
							return b;
						case UNKNOWN:
						default:
							return a;
					}
				case BOOLEAN:
					switch(b){
						case UNKNOWN:
							return a;
						case CHARACTER:
							return STRING;
						default:
							return b;// always higher type in b;
					}
				case UNKNOWN:
				default:
					return b;
			}
		}