Changeset 7255
- Timestamp:
- May 31, 2006, 3:00:03 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/mathtypes/psVector.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/mathtypes/psVector.c
r7071 r7255 9 9 * @author Robert DeSonia, MHPCC 10 10 * 11 * @version $Revision: 1.7 4$ $Name: not supported by cvs2svn $12 * @date $Date: 2006-0 5-05 02:48:34$11 * @version $Revision: 1.75 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2006-06-01 01:00:03 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 665 665 case PS_TYPE_U8: 666 666 temp = va_arg (argp, psU32); 667 if ( temp >= PS_MIN_U8 && temp <= PS_MAX_U8 ) 667 if ( temp >= PS_MIN_U8 && temp <= PS_MAX_U8 ) { 668 668 vU8 = temp; 669 else {669 } else { 670 670 psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Error: U8 Value out of Range.\n"); 671 671 return false; 672 672 } 673 for (long iy = 0; iy < vector->n; iy++) { 674 vector->data.U8[iy] = vU8; 675 } 673 // Can use memset for char-size values 674 memset(vector->data.U8, vU8, vector->n * sizeof(psU8)); 676 675 return (true); 677 676 case PS_TYPE_F32: 678 677 vF32 = (psF32)va_arg (argp, psF64); 679 for (long iy = 0; iy < vector->n; iy++) { 680 vector->data.F32[iy] = vF32; 678 if (vF32 == 0.0) { 679 memset(vector->data.F32, 0, vector->n * sizeof(psF32)); 680 } else { 681 for (long iy = 0; iy < vector->n; iy++) { 682 vector->data.F32[iy] = vF32; 683 } 681 684 } 682 685 return (true); 683 686 case PS_TYPE_F64: 684 687 vF64 = va_arg (argp, psF64); 685 for (long iy = 0; iy < vector->n; iy++) { 686 vector->data.F64[iy] = vF64; 688 if (vF64 == 0.0) { 689 memset(vector->data.F64, 0, vector->n * sizeof(psF64)); 690 } else { 691 for (long iy = 0; iy < vector->n; iy++) { 692 vector->data.F64[iy] = vF64; 693 } 687 694 } 688 695 return (true); … … 695 702 return false; 696 703 } 697 for (long iy = 0; iy < vector->n; iy++) { 698 vector->data.U16[iy] = vU16; 704 if (vU16 == 0) { 705 memset(vector->data.U16, 0, vector->n * sizeof(psU16)); 706 } else { 707 for (long iy = 0; iy < vector->n; iy++) { 708 vector->data.U16[iy] = vU16; 709 } 699 710 } 700 711 return (true); 701 712 case PS_TYPE_U32: 702 713 vU32 = va_arg (argp, psU32); 703 for (long iy = 0; iy < vector->n; iy++) { 704 vector->data.U32[iy] = vU32; 714 if (vU32 == 0) { 715 memset(vector->data.U32, 0, vector->n * sizeof(psU32)); 716 } else { 717 for (long iy = 0; iy < vector->n; iy++) { 718 vector->data.U32[iy] = vU32; 719 } 705 720 } 706 721 return (true); 707 722 case PS_TYPE_U64: 708 723 vU64 = va_arg (argp, psU64); 709 for (long iy = 0; iy < vector->n; iy++) { 710 vector->data.U64[iy] = vU64; 724 if (vU64 == 0) { 725 memset(vector->data.U64, 0, vector->n * sizeof(psU64)); 726 } else { 727 for (long iy = 0; iy < vector->n; iy++) { 728 vector->data.U64[iy] = vU64; 729 } 711 730 } 712 731 return (true); … … 719 738 return false; 720 739 } 721 for (long iy = 0; iy < vector->n; iy++) { 722 vector->data.S8[iy] = vS8; 723 } 740 // Can use memset for char-size values 741 memset(vector->data.S8, vS8, vector->n * sizeof(psS8)); 724 742 return (true); 725 743 case PS_TYPE_S16: … … 731 749 return false; 732 750 } 733 for (long iy = 0; iy < vector->n; iy++) { 734 vector->data.S16[iy] = vS16; 751 if (vS16 == 0) { 752 memset(vector->data.S16, 0, vector->n * sizeof(psS16)); 753 } else { 754 for (long iy = 0; iy < vector->n; iy++) { 755 vector->data.S16[iy] = vS16; 756 } 735 757 } 736 758 return (true); 737 759 case PS_TYPE_S32: 738 760 vS32 = va_arg (argp, psS32); 739 for (long iy = 0; iy < vector->n; iy++) { 740 vector->data.S32[iy] = vS32; 761 if (vS32 == 0) { 762 memset(vector->data.S32, 0, vector->n * sizeof(psS32)); 763 } else { 764 for (long iy = 0; iy < vector->n; iy++) { 765 vector->data.S32[iy] = vS32; 766 } 741 767 } 742 768 return (true); 743 769 case PS_TYPE_S64: 744 770 vS64 = va_arg (argp, psS64); 745 for (long iy = 0; iy < vector->n; iy++) { 746 vector->data.S64[iy] = vS64; 771 if (vS64 == 0) { 772 memset(vector->data.S64, 0, vector->n * sizeof(psS64)); 773 } else { 774 for (long iy = 0; iy < vector->n; iy++) { 775 vector->data.S64[iy] = vS64; 776 } 747 777 } 748 778 return (true); 749 779 case PS_TYPE_C32: 750 780 vC32 = va_arg (argp, psC32); 751 for (long iy = 0; iy < vector->n; iy++) { 752 vector->data.C32[iy] = vC32; 781 if (vC32 == 0) { 782 memset(vector->data.C32, 0, vector->n * sizeof(psC32)); 783 } else { 784 for (long iy = 0; iy < vector->n; iy++) { 785 vector->data.C32[iy] = vC32; 786 } 753 787 } 754 788 return (true); 755 789 case PS_TYPE_C64: 756 790 vC64 = va_arg (argp, psC64); 757 for (long iy = 0; iy < vector->n; iy++) { 758 vector->data.C64[iy] = vC64; 791 if (vC64 == 0) { 792 memset(vector->data.C64, 0, vector->n * sizeof(psC64)); 793 } else { 794 for (long iy = 0; iy < vector->n; iy++) { 795 vector->data.C64[iy] = vC64; 796 } 759 797 } 760 798 return (true);
Note:
See TracChangeset
for help on using the changeset viewer.
