Skip to content

Commit e34286d

Browse files
committed
[MINOR] Include HASH Type in HighestCommonType
This commit adds the HASH types to the switch statement for highestCommonType. Closes #2161 Signed-off-by: Sebastian Baunsgaard <[email protected]>
1 parent 5f07f2b commit e34286d

File tree

2 files changed

+103
-2
lines changed

2 files changed

+103
-2
lines changed

src/main/java/org/apache/sysds/common/Types.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,17 +322,21 @@ private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
322322
}
323323
case FP64:
324324
switch(b) {
325-
case UNKNOWN:
326-
return a;
325+
case HASH64:
326+
case HASH32:
327327
case CHARACTER:
328328
return STRING;
329+
case UNKNOWN:
330+
return a;
329331
case STRING:
330332
return b;
331333
default:
332334
return a;
333335
}
334336
case FP32:
335337
switch(b) {
338+
case HASH64:
339+
case HASH32:
336340
case CHARACTER:
337341
return STRING;
338342
case STRING:
@@ -344,6 +348,9 @@ private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
344348
}
345349
case INT64:
346350
switch(b) {
351+
case HASH64:
352+
case HASH32:
353+
return b;
347354
case CHARACTER:
348355
return STRING;
349356
case STRING:
@@ -356,6 +363,9 @@ private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
356363
}
357364
case INT32:
358365
switch(b) {
366+
case HASH64:
367+
case HASH32:
368+
return b;
359369
case CHARACTER:
360370
return STRING;
361371
case STRING:
@@ -369,6 +379,9 @@ private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
369379
}
370380
case UINT4:
371381
switch(b) {
382+
case HASH64:
383+
case HASH32:
384+
return b;
372385
case CHARACTER:
373386
return STRING;
374387
case STRING:
@@ -384,6 +397,9 @@ private static ValueType getHighestCommonTypeSwitch(ValueType a, ValueType b){
384397
}
385398
case UINT8:
386399
switch(b) {
400+
case HASH64:
401+
case HASH32:
402+
return b;
387403
case CHARACTER:
388404
return STRING;
389405
case STRING:

src/test/java/org/apache/sysds/test/component/misc/TypeTest.java

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,91 @@ public void getHighestCommonTypeSTRING_BOOLEAN() {
368368
assertEquals(ValueType.STRING, hct(ValueType.STRING, ValueType.BOOLEAN));
369369
}
370370

371+
@Test
372+
public void getHighestCommonTypeSTRING_HASH32() {
373+
assertEquals(ValueType.STRING, hct(ValueType.STRING, ValueType.HASH32));
374+
}
375+
376+
@Test
377+
public void getHighestCommonTypeSTRING_HASH64() {
378+
assertEquals(ValueType.STRING, hct(ValueType.STRING, ValueType.HASH64));
379+
}
380+
381+
@Test
382+
public void getHighestCommonTypeUINT8_HASH64() {
383+
assertEquals(ValueType.HASH64, hct(ValueType.UINT8, ValueType.HASH64));
384+
}
385+
386+
@Test
387+
public void getHighestCommonTypeUINT4_HASH64() {
388+
assertEquals(ValueType.HASH64, hct(ValueType.UINT4, ValueType.HASH64));
389+
}
390+
391+
@Test
392+
public void getHighestCommonTypeINT_HASH64() {
393+
assertEquals(ValueType.HASH64, hct(ValueType.INT32, ValueType.HASH64));
394+
}
395+
396+
@Test
397+
public void getHighestCommonTypeINT64_HASH64() {
398+
assertEquals(ValueType.HASH64, hct(ValueType.INT64, ValueType.HASH64));
399+
}
400+
401+
@Test
402+
public void getHighestCommonTypeFP32_HASH64() {
403+
assertEquals(ValueType.STRING, hct(ValueType.FP32, ValueType.HASH64));
404+
}
405+
406+
@Test
407+
public void getHighestCommonTypeFP64_HASH64() {
408+
assertEquals(ValueType.STRING, hct(ValueType.FP64, ValueType.HASH64));
409+
}
410+
411+
@Test
412+
public void getHighestCommonTypeHASH32_HASH64() {
413+
assertEquals(ValueType.HASH64, hct(ValueType.HASH32, ValueType.HASH64));
414+
}
415+
416+
@Test
417+
public void getHighestCommonTypeUINT8_HASH32() {
418+
assertEquals(ValueType.HASH32, hct(ValueType.UINT8, ValueType.HASH32));
419+
}
420+
421+
@Test
422+
public void getHighestCommonTypeUINT4_HASH32() {
423+
assertEquals(ValueType.HASH32, hct(ValueType.UINT4, ValueType.HASH32));
424+
}
425+
426+
@Test
427+
public void getHighestCommonTypeINT_HASH32() {
428+
assertEquals(ValueType.HASH32, hct(ValueType.INT32, ValueType.HASH32));
429+
}
430+
431+
@Test
432+
public void getHighestCommonTypeINT64_HASH32() {
433+
assertEquals(ValueType.HASH32, hct(ValueType.INT64, ValueType.HASH32));
434+
}
435+
436+
@Test
437+
public void getHighestCommonTypeFP32_HASH32() {
438+
assertEquals(ValueType.STRING, hct(ValueType.FP32, ValueType.HASH32));
439+
}
440+
441+
@Test
442+
public void getHighestCommonTypeFP64_HASH32() {
443+
assertEquals(ValueType.STRING, hct(ValueType.FP64, ValueType.HASH32));
444+
}
445+
446+
@Test
447+
public void getHighestCommonTypeHASH32_HASH32() {
448+
assertEquals(ValueType.HASH32, hct(ValueType.HASH32, ValueType.HASH32));
449+
}
450+
451+
@Test
452+
public void getHighestCommonTypeHASH64_HASH64() {
453+
assertEquals(ValueType.HASH64, hct(ValueType.HASH64, ValueType.HASH64));
454+
}
455+
371456
@Test
372457
public void isUnknownNot() {
373458
assertFalse(ValueType.STRING.isUnknown());

0 commit comments

Comments
 (0)