@@ -472,6 +472,7 @@ macro_rules! implicit {
472
472
implicit ! ( c64, c32 => c64) ;
473
473
implicit ! ( c64, f64 => c64) ;
474
474
implicit ! ( c64, f32 => c64) ;
475
+ implicit ! ( c64, f16 => c64) ;
475
476
implicit ! ( c64, i64 => c64) ;
476
477
implicit ! ( c64, u64 => c64) ;
477
478
implicit ! ( c64, i32 => c64) ;
@@ -485,6 +486,7 @@ implicit!(c64, u8 => c64);
485
486
implicit ! ( c32, c64 => c64) ;
486
487
implicit ! ( c32, f64 => c64) ;
487
488
implicit ! ( c32, f32 => c32) ;
489
+ implicit ! ( c32, f16 => c32) ;
488
490
implicit ! ( c32, i64 => c32) ;
489
491
implicit ! ( c32, u64 => c32) ;
490
492
implicit ! ( c32, i32 => c32) ;
@@ -498,6 +500,7 @@ implicit!(c32, u8 => c32);
498
500
implicit ! ( f64 , c64 => c64) ;
499
501
implicit ! ( f64 , c32 => c64) ;
500
502
implicit ! ( f64 , f32 => f64 ) ;
503
+ implicit ! ( f64 , f16 => f64 ) ;
501
504
implicit ! ( f64 , i64 => f64 ) ;
502
505
implicit ! ( f64 , u64 => f64 ) ;
503
506
implicit ! ( f64 , i32 => f64 ) ;
@@ -511,6 +514,7 @@ implicit!(f64, u8 => f64);
511
514
implicit ! ( f32 , c64 => c64) ;
512
515
implicit ! ( f32 , c32 => c32) ;
513
516
implicit ! ( f32 , f64 => f64 ) ;
517
+ implicit ! ( f32 , f16 => f32 ) ;
514
518
implicit ! ( f32 , i64 => f32 ) ;
515
519
implicit ! ( f32 , u64 => f32 ) ;
516
520
implicit ! ( f32 , i32 => f32 ) ;
@@ -520,11 +524,26 @@ implicit!(f32, u16 => f32);
520
524
implicit ! ( f32 , bool => f32 ) ;
521
525
implicit ! ( f32 , u8 => f32 ) ;
522
526
527
+ //LHS is 16-bit floating point
528
+ implicit ! ( f16, c64 => c64) ;
529
+ implicit ! ( f16, c32 => c32) ;
530
+ implicit ! ( f16, f64 => f64 ) ;
531
+ implicit ! ( f16, f32 => f32 ) ;
532
+ implicit ! ( f16, i64 => f16) ;
533
+ implicit ! ( f16, u64 => f16) ;
534
+ implicit ! ( f16, i32 => f16) ;
535
+ implicit ! ( f16, u32 => f16) ;
536
+ implicit ! ( f16, i16 => f16) ;
537
+ implicit ! ( f16, u16 => f16) ;
538
+ implicit ! ( f16, bool => f16) ;
539
+ implicit ! ( f16, u8 => f16) ;
540
+
523
541
//LHS is 64-bit signed integer
524
542
implicit ! ( i64 , c64 => c64) ;
525
543
implicit ! ( i64 , c32 => c32) ;
526
544
implicit ! ( i64 , f64 => f64 ) ;
527
545
implicit ! ( i64 , f32 => f32 ) ;
546
+ implicit ! ( i64 , f16 => f16) ;
528
547
implicit ! ( i64 , u64 => u64 ) ;
529
548
implicit ! ( i64 , i32 => i64 ) ;
530
549
implicit ! ( i64 , u32 => i64 ) ;
@@ -538,6 +557,7 @@ implicit!(u64, c64 => c64);
538
557
implicit ! ( u64 , c32 => c32) ;
539
558
implicit ! ( u64 , f64 => f64 ) ;
540
559
implicit ! ( u64 , f32 => f32 ) ;
560
+ implicit ! ( u64 , f16 => f16) ;
541
561
implicit ! ( u64 , i64 => u64 ) ;
542
562
implicit ! ( u64 , i32 => u64 ) ;
543
563
implicit ! ( u64 , u32 => u64 ) ;
@@ -551,6 +571,7 @@ implicit!(i32, c64 => c64);
551
571
implicit ! ( i32 , c32 => c32) ;
552
572
implicit ! ( i32 , f64 => f64 ) ;
553
573
implicit ! ( i32 , f32 => f32 ) ;
574
+ implicit ! ( i32 , f16 => f16) ;
554
575
implicit ! ( i32 , i64 => i64 ) ;
555
576
implicit ! ( i32 , u64 => u64 ) ;
556
577
implicit ! ( i32 , u32 => u32 ) ;
@@ -564,6 +585,7 @@ implicit!(u32, c64 => c64);
564
585
implicit ! ( u32 , c32 => c32) ;
565
586
implicit ! ( u32 , f64 => f64 ) ;
566
587
implicit ! ( u32 , f32 => f32 ) ;
588
+ implicit ! ( u32 , f16 => f16) ;
567
589
implicit ! ( u32 , i64 => i64 ) ;
568
590
implicit ! ( u32 , u64 => u64 ) ;
569
591
implicit ! ( u32 , i32 => u32 ) ;
@@ -577,6 +599,7 @@ implicit!(i16, c64 => c64);
577
599
implicit ! ( i16 , c32 => c32) ;
578
600
implicit ! ( i16 , f64 => f64 ) ;
579
601
implicit ! ( i16 , f32 => f32 ) ;
602
+ implicit ! ( i16 , f16 => f16) ;
580
603
implicit ! ( i16 , i64 => i64 ) ;
581
604
implicit ! ( i16 , u64 => u64 ) ;
582
605
implicit ! ( i16 , i32 => i32 ) ;
@@ -590,6 +613,7 @@ implicit!(u16, c64 => c64);
590
613
implicit ! ( u16 , c32 => c32) ;
591
614
implicit ! ( u16 , f64 => f64 ) ;
592
615
implicit ! ( u16 , f32 => f32 ) ;
616
+ implicit ! ( u16 , f16 => f16) ;
593
617
implicit ! ( u16 , i64 => i64 ) ;
594
618
implicit ! ( u16 , u64 => u64 ) ;
595
619
implicit ! ( u16 , i32 => i32 ) ;
@@ -603,6 +627,7 @@ implicit!(u8, c64 => c64);
603
627
implicit ! ( u8 , c32 => c32) ;
604
628
implicit ! ( u8 , f64 => f64 ) ;
605
629
implicit ! ( u8 , f32 => f32 ) ;
630
+ implicit ! ( u8 , f16 => f16) ;
606
631
implicit ! ( u8 , i64 => i64 ) ;
607
632
implicit ! ( u8 , u64 => u64 ) ;
608
633
implicit ! ( u8 , i32 => i32 ) ;
@@ -616,6 +641,7 @@ implicit!(bool, c64 => c64);
616
641
implicit ! ( bool , c32 => c32) ;
617
642
implicit ! ( bool , f64 => f64 ) ;
618
643
implicit ! ( bool , f32 => f32 ) ;
644
+ implicit ! ( bool , f16 => f16) ;
619
645
implicit ! ( bool , i64 => i64 ) ;
620
646
implicit ! ( bool , u64 => u64 ) ;
621
647
implicit ! ( bool , i32 => i32 ) ;
0 commit comments