comparison liboctave/util/data-conv.cc @ 17415:3856298f1ff8

eliminate unimplemented vax and cray floating point formats * mach-info.h * test/io.tst: Delete vaxd, vaxg, and cray from list of architectures in fopen test. # HG changeset patch # User John W. Eaton <jwe@octave.org> # Date 1379028062 14400 # Thu Sep 12 19:21:02 2013 -0400 # Node ID ea2763020ac1aa15ad0d43d787b61ff3b8469209 # Parent e89e86e1a5518c11058930fec5e907e60e31251b eliminate unimplemented vax and cray floating point formats * mach-info.h (oct_mach_info::float_format): Delete flt_fmt_vaxd, flt_fmt_vaxg, and flt_fmt_cray enum values. * ls-mat4.cc (float_format_to_mopt_digit, mopt_digit_to_float_format): Delete cases for vaxd, vaxg, and cray floating point formats. * lo-ieee.cc (octave_ieee_init): Likewise. * mach-info.cc (get_float_format, oct_mach_info::string_to_float_format, oct_mach_info::float_format_as_string): Likewise. * oct-stream.cc: Delete explicit template instantiation for do_write. (octave_stream::write, do_read): Delete checks for vaxd and vaxg floating point formats. * pr-output.cc (pr_any_float): Don't check for cray or unknonwn float formats. * data-conv.cc (VAX_D_double_to_IEEE_little_double, VAX_G_double_to_IEEE_little_double, Cray_to_IEEE_little_double, IEEE_big_float_to_IEEE_little_float, VAX_D_float_to_IEEE_little_float, VAX_G_float_to_IEEE_little_float, Cray_to_IEEE_little_float, IEEE_little_double_to_IEEE_big_double, VAX_D_double_to_IEEE_big_double, VAX_G_double_to_IEEE_big_double, Cray_to_IEEE_big_double, IEEE_little_float_to_IEEE_big_float, VAX_D_float_to_IEEE_big_float, VAX_G_float_to_IEEE_big_float, Cray_to_IEEE_big_float, IEEE_little_double_to_VAX_D_double, IEEE_big_double_to_VAX_D_double, VAX_G_double_to_VAX_D_double, Cray_to_VAX_D_double, IEEE_little_float_to_VAX_D_float, IEEE_big_float_to_VAX_D_float, VAX_G_float_to_VAX_D_float, Cray_to_VAX_D_float, IEEE_little_double_to_VAX_G_double, IEEE_big_double_to_VAX_G_double, VAX_D_double_to_VAX_G_double, Cray_to_VAX_G_double, IEEE_little_float_to_VAX_G_float, IEEE_big_float_to_VAX_G_float, VAX_D_float_to_VAX_G_float, Cray_to_VAX_G_float): Delete. (do_double_format_conversion): Eliminate unimplemented vaxd, vaxg, and cray conversions. * file-io.cc (Ffopen, Ffread): Fix doc strings.
author John W. Eaton <jwe@octave.org>
date Thu, 12 Sep 2013 19:21:02 -0400
parents e89e86e1a551
children 6690dba6078a
comparison
equal deleted inserted replaced
17413:e89e86e1a551 17415:3856298f1ff8
543 { 543 {
544 swap_bytes<8> (d, len); 544 swap_bytes<8> (d, len);
545 } 545 }
546 546
547 static void 547 static void
548 VAX_D_double_to_IEEE_little_double (void * /* d */, octave_idx_type /* len */)
549 {
550 gripe_data_conversion ("VAX D float", "IEEE little endian format");
551 }
552
553 static void
554 VAX_G_double_to_IEEE_little_double (void * /* d */, octave_idx_type /* len */)
555 {
556 gripe_data_conversion ("VAX G float", "IEEE little endian format");
557 }
558
559 static void
560 Cray_to_IEEE_little_double (void * /* d */, octave_idx_type /* len */)
561 {
562 gripe_data_conversion ("Cray", "IEEE little endian format");
563 }
564
565 static void
566 IEEE_big_float_to_IEEE_little_float (void *d, octave_idx_type len) 548 IEEE_big_float_to_IEEE_little_float (void *d, octave_idx_type len)
567 { 549 {
568 swap_bytes<4> (d, len); 550 swap_bytes<4> (d, len);
569 }
570
571 static void
572 VAX_D_float_to_IEEE_little_float (void * /* d */, octave_idx_type /* len */)
573 {
574 gripe_data_conversion ("VAX D float", "IEEE little endian format");
575 }
576
577 static void
578 VAX_G_float_to_IEEE_little_float (void * /* d */, octave_idx_type /* len */)
579 {
580 gripe_data_conversion ("VAX G float", "IEEE little endian format");
581 }
582
583 static void
584 Cray_to_IEEE_little_float (void * /* d */, octave_idx_type /* len */)
585 {
586 gripe_data_conversion ("Cray", "IEEE little endian format");
587 } 551 }
588 552
589 static void 553 static void
590 IEEE_little_double_to_IEEE_big_double (void *d, octave_idx_type len) 554 IEEE_little_double_to_IEEE_big_double (void *d, octave_idx_type len)
591 { 555 {
592 swap_bytes<8> (d, len); 556 swap_bytes<8> (d, len);
593 } 557 }
594 558
595 static void 559 static void
596 VAX_D_double_to_IEEE_big_double (void * /* d */, octave_idx_type /* len */)
597 {
598 gripe_data_conversion ("VAX D float", "IEEE big endian format");
599 }
600
601 static void
602 VAX_G_double_to_IEEE_big_double (void * /* d */, octave_idx_type /* len */)
603 {
604 gripe_data_conversion ("VAX G float", "IEEE big endian format");
605 }
606
607 static void
608 Cray_to_IEEE_big_double (void * /* d */, octave_idx_type /* len */)
609 {
610 gripe_data_conversion ("Cray", "IEEE big endian format");
611 }
612
613 static void
614 IEEE_little_float_to_IEEE_big_float (void *d, octave_idx_type len) 560 IEEE_little_float_to_IEEE_big_float (void *d, octave_idx_type len)
615 { 561 {
616 swap_bytes<4> (d, len); 562 swap_bytes<4> (d, len);
617 }
618
619 static void
620 VAX_D_float_to_IEEE_big_float (void * /* d */, octave_idx_type /* len */)
621 {
622 gripe_data_conversion ("VAX D float", "IEEE big endian format");
623 }
624
625 static void
626 VAX_G_float_to_IEEE_big_float (void * /* d */, octave_idx_type /* len */)
627 {
628 gripe_data_conversion ("VAX G float", "IEEE big endian format");
629 }
630
631 static void
632 Cray_to_IEEE_big_float (void * /* d */, octave_idx_type /* len */)
633 {
634 gripe_data_conversion ("Cray", "IEEE big endian format");
635 }
636
637 static void
638 IEEE_little_double_to_VAX_D_double (void * /* d */, octave_idx_type /* len */)
639 {
640 gripe_data_conversion ("IEEE little endian", "VAX D");
641 }
642
643 static void
644 IEEE_big_double_to_VAX_D_double (void * /* d */, octave_idx_type /* len */)
645 {
646 gripe_data_conversion ("IEEE big endian", "VAX D");
647 }
648
649 static void
650 VAX_G_double_to_VAX_D_double (void * /* d */, octave_idx_type /* len */)
651 {
652 gripe_data_conversion ("VAX G float", "VAX D");
653 }
654
655 static void
656 Cray_to_VAX_D_double (void * /* d */, octave_idx_type /* len */)
657 {
658 gripe_data_conversion ("Cray", "VAX D");
659 }
660
661 static void
662 IEEE_little_float_to_VAX_D_float (void * /* d */, octave_idx_type /* len */)
663 {
664 gripe_data_conversion ("IEEE little endian", "VAX D");
665 }
666
667 static void
668 IEEE_big_float_to_VAX_D_float (void * /* d */, octave_idx_type /* len */)
669 {
670 gripe_data_conversion ("IEEE big endian", "VAX D");
671 }
672
673 static void
674 VAX_G_float_to_VAX_D_float (void * /* d */, octave_idx_type /* len */)
675 {
676 gripe_data_conversion ("VAX G float", "VAX D");
677 }
678
679 static void
680 Cray_to_VAX_D_float (void * /* d */, octave_idx_type /* len */)
681 {
682 gripe_data_conversion ("Cray", "VAX D");
683 }
684
685 static void
686 IEEE_little_double_to_VAX_G_double (void * /* d */, octave_idx_type /* len */)
687 {
688 gripe_data_conversion ("IEEE little endian", "VAX G");
689 }
690
691 static void
692 IEEE_big_double_to_VAX_G_double (void * /* d */, octave_idx_type /* len */)
693 {
694 gripe_data_conversion ("IEEE big endian", "VAX G");
695 }
696
697 static void
698 VAX_D_double_to_VAX_G_double (void * /* d */, octave_idx_type /* len */)
699 {
700 gripe_data_conversion ("VAX D float", "VAX G");
701 }
702
703 static void
704 Cray_to_VAX_G_double (void * /* d */, octave_idx_type /* len */)
705 {
706 gripe_data_conversion ("VAX G float", "VAX G");
707 }
708
709 static void
710 IEEE_little_float_to_VAX_G_float (void * /* d */, octave_idx_type /* len */)
711 {
712 gripe_data_conversion ("IEEE little endian", "VAX G");
713 }
714
715 static void
716 IEEE_big_float_to_VAX_G_float (void * /* d */, octave_idx_type /* len */)
717 {
718 gripe_data_conversion ("IEEE big endian", "VAX G");
719 }
720
721 static void
722 VAX_D_float_to_VAX_G_float (void * /* d */, octave_idx_type /* len */)
723 {
724 gripe_data_conversion ("VAX D float", "VAX G");
725 }
726
727 static void
728 Cray_to_VAX_G_float (void * /* d */, octave_idx_type /* len */)
729 {
730 gripe_data_conversion ("VAX G float", "VAX G");
731 } 563 }
732 564
733 void 565 void
734 do_double_format_conversion (void *data, octave_idx_type len, 566 do_double_format_conversion (void *data, octave_idx_type len,
735 oct_mach_info::float_format from_fmt, 567 oct_mach_info::float_format from_fmt,
743 case oct_mach_info::flt_fmt_ieee_little_endian: 575 case oct_mach_info::flt_fmt_ieee_little_endian:
744 break; 576 break;
745 577
746 case oct_mach_info::flt_fmt_ieee_big_endian: 578 case oct_mach_info::flt_fmt_ieee_big_endian:
747 IEEE_big_double_to_IEEE_little_double (data, len); 579 IEEE_big_double_to_IEEE_little_double (data, len);
748 break;
749
750 case oct_mach_info::flt_fmt_vax_d:
751 VAX_D_double_to_IEEE_little_double (data, len);
752 break;
753
754 case oct_mach_info::flt_fmt_vax_g:
755 VAX_G_double_to_IEEE_little_double (data, len);
756 break;
757
758 case oct_mach_info::flt_fmt_cray:
759 Cray_to_IEEE_little_double (data, len);
760 break; 580 break;
761 581
762 default: 582 default:
763 gripe_unrecognized_float_fmt (); 583 gripe_unrecognized_float_fmt ();
764 break; 584 break;
773 break; 593 break;
774 594
775 case oct_mach_info::flt_fmt_ieee_big_endian: 595 case oct_mach_info::flt_fmt_ieee_big_endian:
776 break; 596 break;
777 597
778 case oct_mach_info::flt_fmt_vax_d:
779 VAX_D_double_to_IEEE_big_double (data, len);
780 break;
781
782 case oct_mach_info::flt_fmt_vax_g:
783 VAX_G_double_to_IEEE_big_double (data, len);
784 break;
785
786 case oct_mach_info::flt_fmt_cray:
787 Cray_to_IEEE_big_double (data, len);
788 break;
789
790 default:
791 gripe_unrecognized_float_fmt ();
792 break;
793 }
794 break;
795
796 case oct_mach_info::flt_fmt_vax_d:
797 switch (from_fmt)
798 {
799 case oct_mach_info::flt_fmt_ieee_little_endian:
800 IEEE_little_double_to_VAX_D_double (data, len);
801 break;
802
803 case oct_mach_info::flt_fmt_ieee_big_endian:
804 IEEE_big_double_to_VAX_D_double (data, len);
805 break;
806
807 case oct_mach_info::flt_fmt_vax_d:
808 break;
809
810 case oct_mach_info::flt_fmt_vax_g:
811 VAX_G_double_to_VAX_D_double (data, len);
812 break;
813
814 case oct_mach_info::flt_fmt_cray:
815 Cray_to_VAX_D_double (data, len);
816 break;
817
818 default:
819 gripe_unrecognized_float_fmt ();
820 break;
821 }
822 break;
823
824 case oct_mach_info::flt_fmt_vax_g:
825 switch (from_fmt)
826 {
827 case oct_mach_info::flt_fmt_ieee_little_endian:
828 IEEE_little_double_to_VAX_G_double (data, len);
829 break;
830
831 case oct_mach_info::flt_fmt_ieee_big_endian:
832 IEEE_big_double_to_VAX_G_double (data, len);
833 break;
834
835 case oct_mach_info::flt_fmt_vax_d:
836 VAX_D_double_to_VAX_G_double (data, len);
837 break;
838
839 case oct_mach_info::flt_fmt_vax_g:
840 break;
841
842 case oct_mach_info::flt_fmt_cray:
843 Cray_to_VAX_G_double (data, len);
844 break;
845
846 default: 598 default:
847 gripe_unrecognized_float_fmt (); 599 gripe_unrecognized_float_fmt ();
848 break; 600 break;
849 } 601 }
850 break; 602 break;
870 case oct_mach_info::flt_fmt_ieee_little_endian: 622 case oct_mach_info::flt_fmt_ieee_little_endian:
871 break; 623 break;
872 624
873 case oct_mach_info::flt_fmt_ieee_big_endian: 625 case oct_mach_info::flt_fmt_ieee_big_endian:
874 IEEE_big_float_to_IEEE_little_float (data, len); 626 IEEE_big_float_to_IEEE_little_float (data, len);
875 break;
876
877 case oct_mach_info::flt_fmt_vax_d:
878 VAX_D_float_to_IEEE_little_float (data, len);
879 break;
880
881 case oct_mach_info::flt_fmt_vax_g:
882 VAX_G_float_to_IEEE_little_float (data, len);
883 break;
884
885 case oct_mach_info::flt_fmt_cray:
886 Cray_to_IEEE_little_float (data, len);
887 break; 627 break;
888 628
889 default: 629 default:
890 gripe_unrecognized_float_fmt (); 630 gripe_unrecognized_float_fmt ();
891 break; 631 break;
898 case oct_mach_info::flt_fmt_ieee_little_endian: 638 case oct_mach_info::flt_fmt_ieee_little_endian:
899 IEEE_little_float_to_IEEE_big_float (data, len); 639 IEEE_little_float_to_IEEE_big_float (data, len);
900 break; 640 break;
901 641
902 case oct_mach_info::flt_fmt_ieee_big_endian: 642 case oct_mach_info::flt_fmt_ieee_big_endian:
903 break;
904
905 case oct_mach_info::flt_fmt_vax_d:
906 VAX_D_float_to_IEEE_big_float (data, len);
907 break;
908
909 case oct_mach_info::flt_fmt_vax_g:
910 VAX_G_float_to_IEEE_big_float (data, len);
911 break;
912
913 case oct_mach_info::flt_fmt_cray:
914 Cray_to_IEEE_big_float (data, len);
915 break;
916
917 default:
918 gripe_unrecognized_float_fmt ();
919 break;
920 }
921 break;
922
923 case oct_mach_info::flt_fmt_vax_d:
924 switch (from_fmt)
925 {
926 case oct_mach_info::flt_fmt_ieee_little_endian:
927 IEEE_little_float_to_VAX_D_float (data, len);
928 break;
929
930 case oct_mach_info::flt_fmt_ieee_big_endian:
931 IEEE_big_float_to_VAX_D_float (data, len);
932 break;
933
934 case oct_mach_info::flt_fmt_vax_d:
935 break;
936
937 case oct_mach_info::flt_fmt_vax_g:
938 VAX_G_float_to_VAX_D_float (data, len);
939 break;
940
941 case oct_mach_info::flt_fmt_cray:
942 Cray_to_VAX_D_float (data, len);
943 break;
944
945 default:
946 gripe_unrecognized_float_fmt ();
947 break;
948 }
949 break;
950
951 case oct_mach_info::flt_fmt_vax_g:
952 switch (from_fmt)
953 {
954 case oct_mach_info::flt_fmt_ieee_little_endian:
955 IEEE_little_float_to_VAX_G_float (data, len);
956 break;
957
958 case oct_mach_info::flt_fmt_ieee_big_endian:
959 IEEE_big_float_to_VAX_G_float (data, len);
960 break;
961
962 case oct_mach_info::flt_fmt_vax_d:
963 VAX_D_float_to_VAX_G_float (data, len);
964 break;
965
966 case oct_mach_info::flt_fmt_vax_g:
967 break;
968
969 case oct_mach_info::flt_fmt_cray:
970 Cray_to_VAX_G_float (data, len);
971 break; 643 break;
972 644
973 default: 645 default:
974 gripe_unrecognized_float_fmt (); 646 gripe_unrecognized_float_fmt ();
975 break; 647 break;