| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkDisplayMath.h" | 10 #include "SkDisplayMath.h" |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 case SK_FUNCTION(asin): | 148 case SK_FUNCTION(asin): |
| 149 scalarResult = SkScalarASin(input); | 149 scalarResult = SkScalarASin(input); |
| 150 break; | 150 break; |
| 151 case SK_FUNCTION(atan): | 151 case SK_FUNCTION(atan): |
| 152 scalarResult = SkScalarATan2(input, SK_Scalar1); | 152 scalarResult = SkScalarATan2(input, SK_Scalar1); |
| 153 break; | 153 break; |
| 154 case SK_FUNCTION(atan2): | 154 case SK_FUNCTION(atan2): |
| 155 scalarResult = SkScalarATan2(input, parameters[1].fOperand.fScalar); | 155 scalarResult = SkScalarATan2(input, parameters[1].fOperand.fScalar); |
| 156 break; | 156 break; |
| 157 case SK_FUNCTION(ceil): | 157 case SK_FUNCTION(ceil): |
| 158 scalarResult = SkIntToScalar(SkScalarCeil(input)); | 158 scalarResult = SkScalarCeilToScalar(input); |
| 159 break; | 159 break; |
| 160 case SK_FUNCTION(cos): | 160 case SK_FUNCTION(cos): |
| 161 scalarResult = SkScalarCos(input); | 161 scalarResult = SkScalarCos(input); |
| 162 break; | 162 break; |
| 163 case SK_FUNCTION(exp): | 163 case SK_FUNCTION(exp): |
| 164 scalarResult = SkScalarExp(input); | 164 scalarResult = SkScalarExp(input); |
| 165 break; | 165 break; |
| 166 case SK_FUNCTION(floor): | 166 case SK_FUNCTION(floor): |
| 167 scalarResult = SkIntToScalar(SkScalarFloor(input)); | 167 scalarResult = SkScalarFloorToScalar(input); |
| 168 break; | 168 break; |
| 169 case SK_FUNCTION(log): | 169 case SK_FUNCTION(log): |
| 170 scalarResult = SkScalarLog(input); | 170 scalarResult = SkScalarLog(input); |
| 171 break; | 171 break; |
| 172 case SK_FUNCTION(max): | 172 case SK_FUNCTION(max): |
| 173 scalarResult = -SK_ScalarMax; | 173 scalarResult = -SK_ScalarMax; |
| 174 while (array < end) { | 174 while (array < end) { |
| 175 scalarResult = SkMaxScalar(scalarResult, array->fOperand.fScalar
); | 175 scalarResult = SkMaxScalar(scalarResult, array->fOperand.fScalar
); |
| 176 array++; | 176 array++; |
| 177 } | 177 } |
| 178 break; | 178 break; |
| 179 case SK_FUNCTION(min): | 179 case SK_FUNCTION(min): |
| 180 scalarResult = SK_ScalarMax; | 180 scalarResult = SK_ScalarMax; |
| 181 while (array < end) { | 181 while (array < end) { |
| 182 scalarResult = SkMinScalar(scalarResult, array->fOperand.fScalar
); | 182 scalarResult = SkMinScalar(scalarResult, array->fOperand.fScalar
); |
| 183 array++; | 183 array++; |
| 184 } | 184 } |
| 185 break; | 185 break; |
| 186 case SK_FUNCTION(pow): | 186 case SK_FUNCTION(pow): |
| 187 // not the greatest -- but use x^y = e^(y * ln(x)) | 187 // not the greatest -- but use x^y = e^(y * ln(x)) |
| 188 scalarResult = SkScalarLog(input); | 188 scalarResult = SkScalarLog(input); |
| 189 scalarResult = SkScalarMul(parameters[1].fOperand.fScalar, scalarRes
ult); | 189 scalarResult = SkScalarMul(parameters[1].fOperand.fScalar, scalarRes
ult); |
| 190 scalarResult = SkScalarExp(scalarResult); | 190 scalarResult = SkScalarExp(scalarResult); |
| 191 break; | 191 break; |
| 192 case SK_FUNCTION(random): | 192 case SK_FUNCTION(random): |
| 193 scalarResult = fRandom.nextUScalar1(); | 193 scalarResult = fRandom.nextUScalar1(); |
| 194 break; | 194 break; |
| 195 case SK_FUNCTION(round): | 195 case SK_FUNCTION(round): |
| 196 scalarResult = SkIntToScalar(SkScalarRound(input)); | 196 scalarResult = SkScalarRoundToScalar(input); |
| 197 break; | 197 break; |
| 198 case SK_FUNCTION(sin): | 198 case SK_FUNCTION(sin): |
| 199 scalarResult = SkScalarSin(input); | 199 scalarResult = SkScalarSin(input); |
| 200 break; | 200 break; |
| 201 case SK_FUNCTION(sqrt): { | 201 case SK_FUNCTION(sqrt): { |
| 202 SkASSERT(parameters.count() == 1); | 202 SkASSERT(parameters.count() == 1); |
| 203 SkASSERT(type == SkType_Float); | 203 SkASSERT(type == SkType_Float); |
| 204 scalarResult = SkScalarSqrt(input); | 204 scalarResult = SkScalarSqrt(input); |
| 205 } break; | 205 } break; |
| 206 case SK_FUNCTION(tan): | 206 case SK_FUNCTION(tan): |
| (...skipping 13 matching lines...) Expand all Loading... |
| 220 | 220 |
| 221 bool SkDisplayMath::getProperty(int index, SkScriptValue* value) const { | 221 bool SkDisplayMath::getProperty(int index, SkScriptValue* value) const { |
| 222 if ((unsigned)index < SK_ARRAY_COUNT(gConstants)) { | 222 if ((unsigned)index < SK_ARRAY_COUNT(gConstants)) { |
| 223 value->fOperand.fScalar = gConstants[index]; | 223 value->fOperand.fScalar = gConstants[index]; |
| 224 value->fType = SkType_Float; | 224 value->fType = SkType_Float; |
| 225 return true; | 225 return true; |
| 226 } | 226 } |
| 227 SkASSERT(0); | 227 SkASSERT(0); |
| 228 return false; | 228 return false; |
| 229 } | 229 } |
| OLD | NEW |