Changeset 6198
- Timestamp:
- Jan 25, 2006, 4:11:19 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/math/psPolynomial.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/math/psPolynomial.c
r6193 r6198 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.13 7$ $Name: not supported by cvs2svn $10 * @date $Date: 2006-01-26 0 0:31:19 $9 * @version $Revision: 1.138 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-01-26 02:11:19 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 957 957 // Evaluate polynomial 958 958 // XXX: Consult with IfA: is this how they want to handle multiple data types? 959 if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) ||(z->type.type == PS_TYPE_F32)) {959 if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32)) { 960 960 for (unsigned int i = 0; i < vecLen; i++) { 961 961 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F32[i]); 962 962 } 963 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) ||(z->type.type == PS_TYPE_F64)) {963 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64)) { 964 964 for (unsigned int i = 0; i < vecLen; i++) { 965 965 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F64[i]); 966 966 } 967 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) ||(z->type.type == PS_TYPE_F32)) {967 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32)) { 968 968 for (unsigned int i = 0; i < vecLen; i++) { 969 969 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F32[i]); 970 970 } 971 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) ||(z->type.type == PS_TYPE_F64)) {971 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64)) { 972 972 for (unsigned int i = 0; i < vecLen; i++) { 973 973 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F64[i]); 974 974 } 975 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) ||(z->type.type == PS_TYPE_F32)) {975 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32)) { 976 976 for (unsigned int i = 0; i < vecLen; i++) { 977 977 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i]); 978 978 } 979 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) ||(z->type.type == PS_TYPE_F64)) {979 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64)) { 980 980 for (unsigned int i = 0; i < vecLen; i++) { 981 981 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i]); 982 982 } 983 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) ||(z->type.type == PS_TYPE_F32)) {983 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32)) { 984 984 for (unsigned int i = 0; i < vecLen; i++) { 985 985 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i]); 986 986 } 987 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) ||(z->type.type == PS_TYPE_F64)) {987 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64)) { 988 988 for (unsigned int i = 0; i < vecLen; i++) { 989 989 tmp->data.F64[i] = psPolynomial3DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i]); … … 1053 1053 // Evaluate polynomial 1054 1054 // XXX: Consult with IfA: is this how they want to handle multiple data types? 1055 if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F32)) {1055 if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F32)) { 1056 1056 for (unsigned int i = 0; i < vecLen; i++) { 1057 1057 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F32[i], t->data.F32[i]); 1058 1058 } 1059 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F64)) {1059 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F64)) { 1060 1060 for (unsigned int i = 0; i < vecLen; i++) { 1061 1061 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F32[i], t->data.F64[i]); 1062 1062 } 1063 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F32)) {1063 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F32)) { 1064 1064 for (unsigned int i = 0; i < vecLen; i++) { 1065 1065 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F64[i], t->data.F32[i]); 1066 1066 } 1067 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F64)) {1067 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F64)) { 1068 1068 for (unsigned int i = 0; i < vecLen; i++) { 1069 1069 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F32[i], z->data.F64[i], t->data.F64[i]); 1070 1070 } 1071 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F32)) {1071 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F32)) { 1072 1072 for (unsigned int i = 0; i < vecLen; i++) { 1073 1073 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F32[i], t->data.F32[i]); 1074 1074 } 1075 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F64)) {1075 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F64)) { 1076 1076 for (unsigned int i = 0; i < vecLen; i++) { 1077 1077 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F32[i], t->data.F64[i]); 1078 1078 } 1079 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F32)) {1079 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F32)) { 1080 1080 for (unsigned int i = 0; i < vecLen; i++) { 1081 1081 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F64[i], t->data.F32[i]); 1082 1082 } 1083 } else if ((x->type.type == PS_TYPE_F32) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F64)) {1083 } else if ((x->type.type == PS_TYPE_F32) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F64)) { 1084 1084 for (unsigned int i = 0; i < vecLen; i++) { 1085 1085 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F32[i], y->data.F64[i], z->data.F64[i], t->data.F64[i]); 1086 1086 } 1087 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F32)) {1087 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F32)) { 1088 1088 for (unsigned int i = 0; i < vecLen; i++) { 1089 1089 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i], t->data.F32[i]); 1090 1090 } 1091 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F64)) {1091 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F64)) { 1092 1092 for (unsigned int i = 0; i < vecLen; i++) { 1093 1093 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F32[i], t->data.F64[i]); 1094 1094 } 1095 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F32)) {1095 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F32)) { 1096 1096 for (unsigned int i = 0; i < vecLen; i++) { 1097 1097 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F64[i], t->data.F32[i]); 1098 1098 } 1099 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F32) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F64)) {1099 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F32) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F64)) { 1100 1100 for (unsigned int i = 0; i < vecLen; i++) { 1101 1101 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F32[i], z->data.F64[i], t->data.F64[i]); 1102 1102 } 1103 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F32)) {1103 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F32)) { 1104 1104 for (unsigned int i = 0; i < vecLen; i++) { 1105 1105 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F64[i], z->data.F32[i], t->data.F32[i]); 1106 1106 } 1107 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F32) ||(t->type.type == PS_TYPE_F64)) {1107 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F32) && (t->type.type == PS_TYPE_F64)) { 1108 1108 for (unsigned int i = 0; i < vecLen; i++) { 1109 1109 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F64[i], z->data.F32[i], t->data.F64[i]); 1110 1110 } 1111 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F64) ||(t->type.type == PS_TYPE_F32)) {1111 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F32)) { 1112 1112 for (unsigned int i = 0; i < vecLen; i++) { 1113 1113 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F64[i], z->data.F64[i], t->data.F32[i]); 1114 1114 } 1115 } else if ((x->type.type == PS_TYPE_F64) || (y->type.type == PS_TYPE_F64) || (z->type.type == PS_TYPE_F64) || (t->type.type == PS_TYPE_F64)) { 1116 for (unsigned int i = 0; i < vecLen; i++) { 1117 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F64[i], z->data.F64[i], t->data.F64[i]); 1115 } else if ((x->type.type == PS_TYPE_F64) && (y->type.type == PS_TYPE_F64) && (z->type.type == PS_TYPE_F64) && (t->type.type == PS_TYPE_F64)) { 1116 for (unsigned int i = 0; i < vecLen; i++) { 1117 tmp->data.F64[i] = psPolynomial4DEval(poly, x->data.F64[i], y->data.F64[i], z->data.F64[i], 1118 t->data.F64[i]); 1118 1119 } 1119 1120 }
Note:
See TracChangeset
for help on using the changeset viewer.
