Changeset 248730 in webkit
- Timestamp:
- Aug 15, 2019 11:01:16 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 18 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r248722 r248730 1 2019-08-15 Saam Barati <sbarati@apple.com> 2 3 [WHLSL] Make length, clamp, operator+, operator-, operator*, operator/, operator[], operator[]=, operator.xy, operator.xy=, native 4 https://bugs.webkit.org/show_bug.cgi?id=200700 5 6 Reviewed by Robin Morisset. 7 8 * webgpu/whlsl/clamp-stdlib-expected.txt: Added. 9 * webgpu/whlsl/clamp-stdlib.html: Added. 10 * webgpu/whlsl/length-stdlib-expected.txt: Added. 11 * webgpu/whlsl/length-stdlib.html: Added. 12 * webgpu/whlsl/operator-div-expected.txt: Added. 13 * webgpu/whlsl/operator-div.html: Added. 14 * webgpu/whlsl/operator-minus-expected.txt: Added. 15 * webgpu/whlsl/operator-minus.html: Added. 16 * webgpu/whlsl/operator-plus-expected.txt: Added. 17 * webgpu/whlsl/operator-plus.html: Added. 18 * webgpu/whlsl/operator-times-expected.txt: Added. 19 * webgpu/whlsl/operator-times.html: Added. 20 * webgpu/whlsl/operator-vector-assign-expected.txt: Added. 21 * webgpu/whlsl/operator-vector-assign.html: Added. 22 * webgpu/whlsl/operator-vector-load-expected.txt: Added. 23 * webgpu/whlsl/operator-vector-load.html: Added. 24 * webgpu/whlsl/operator-xy-expected.txt: Added. 25 * webgpu/whlsl/operator-xy.html: Added. 26 1 27 2019-08-15 Antti Koivisto <antti@apple.com> 2 28 -
trunk/Source/WebCore/ChangeLog
r248729 r248730 1 2019-08-15 Saam Barati <sbarati@apple.com> 2 3 [WHLSL] Make length, clamp, operator+, operator-, operator*, operator/, operator[], operator[]=, operator.xy, operator.xy=, native 4 https://bugs.webkit.org/show_bug.cgi?id=200700 5 6 Reviewed by Robin Morisset. 7 8 This makes us 50% faster in compute_boids. 9 10 Tests: webgpu/whlsl/clamp-stdlib.html 11 webgpu/whlsl/length-stdlib.html 12 webgpu/whlsl/operator-div.html 13 webgpu/whlsl/operator-minus.html 14 webgpu/whlsl/operator-plus.html 15 webgpu/whlsl/operator-times.html 16 webgpu/whlsl/operator-vector-assign.html 17 webgpu/whlsl/operator-vector-load.html 18 webgpu/whlsl/operator-xy.html 19 20 * Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp: 21 (WebCore::WHLSL::Metal::inlineNativeFunction): 22 * Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt: 23 * Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp: 24 (WebCore::WHLSL::includeStandardLibrary): 25 1 26 2019-08-15 Robin Morisset <rmorisset@apple.com> 2 27 -
trunk/Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp
r248280 r248730 250 250 } 251 251 252 auto vectorSize = [&] () -> unsigned { 253 auto& typeReference = downcast<AST::TypeReference>(*nativeFunctionDeclaration.parameters()[0]->type()); 254 auto& vectorType = downcast<AST::NativeTypeDeclaration>(downcast<AST::TypeReference>(downcast<AST::TypeDefinition>(typeReference.resolvedType()).type()).resolvedType()); 255 ASSERT(vectorType.name() == "vector"); 256 ASSERT(matrixType.typeArguments().size() == 2); 257 return WTF::get<AST::ConstantExpression>(vectorType.typeArguments()[1]).integerLiteral().value(); 258 }; 252 259 auto matrixDimension = [&] (unsigned typeArgumentIndex) -> unsigned { 253 260 auto& typeReference = downcast<AST::TypeReference>(*nativeFunctionDeclaration.parameters()[0]->type()); … … 266 273 if (nativeFunctionDeclaration.name() == "operator[]") { 267 274 ASSERT(nativeFunctionDeclaration.parameters().size() == 2); 268 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 269 270 unsigned numberOfRows = numberOfMatrixRows(); 271 unsigned numberOfColumns = numberOfMatrixColumns(); 272 stringBuilder.flexibleAppend("do {\n", metalReturnName, " result;\n"); 273 274 stringBuilder.flexibleAppend( 275 " if (", args[1], " >= ", numberOfRows, ") {", returnName, " = ", metalReturnName, "(0); break;}\n", 276 " result[0] = ", args[0], '[', args[1], "];\n", 277 " result[1] = ", args[0], '[', args[1], " + ", numberOfRows, "];\n"); 278 279 if (numberOfColumns >= 3) 280 stringBuilder.flexibleAppend(" result[2] = ", args[0], '[', args[1], " + ", numberOfRows * 2, "];\n"); 281 if (numberOfColumns >= 4) 282 stringBuilder.flexibleAppend(" result[3] = ", args[0], '[', args[1], " + ", numberOfRows * 3, "];\n"); 283 284 stringBuilder.flexibleAppend( 285 " ", returnName, " = result;\n", 286 "} while (0);\n"); 275 auto& typeReference = downcast<AST::TypeReference>(*nativeFunctionDeclaration.parameters()[0]->type()); 276 size_t numTypeArguments = downcast<AST::NativeTypeDeclaration>(downcast<AST::TypeReference>(downcast<AST::TypeDefinition>(typeReference.resolvedType()).type()).resolvedType()).typeArguments().size(); 277 if (numTypeArguments == 3) { 278 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 279 280 unsigned numberOfRows = numberOfMatrixRows(); 281 unsigned numberOfColumns = numberOfMatrixColumns(); 282 stringBuilder.flexibleAppend("do {\n", metalReturnName, " result;\n"); 283 284 stringBuilder.flexibleAppend( 285 " if (", args[1], " >= ", numberOfRows, ") {", returnName, " = ", metalReturnName, "(0); break;}\n", 286 " result[0] = ", args[0], '[', args[1], "];\n", 287 " result[1] = ", args[0], '[', args[1], " + ", numberOfRows, "];\n"); 288 289 if (numberOfColumns >= 3) 290 stringBuilder.flexibleAppend(" result[2] = ", args[0], '[', args[1], " + ", numberOfRows * 2, "];\n"); 291 if (numberOfColumns >= 4) 292 stringBuilder.flexibleAppend(" result[3] = ", args[0], '[', args[1], " + ", numberOfRows * 3, "];\n"); 293 294 stringBuilder.flexibleAppend( 295 " ", returnName, " = result;\n", 296 "} while (0);\n"); 297 } else { 298 RELEASE_ASSERT(numTypeArguments == 2); 299 unsigned numElements = vectorSize(); 300 301 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 302 303 stringBuilder.flexibleAppend("do {\n", metalReturnName, " result;\n"); 304 305 stringBuilder.flexibleAppend( 306 " if (", args[1], " >= ", numElements, ") {", returnName, " = ", metalReturnName, "(0); break;}\n", 307 " result = ", args[0], "[", args[1], "];\n"); 308 stringBuilder.flexibleAppend( 309 " ", returnName, " = result;\n", 310 "} while (0);\n"); 311 } 287 312 288 313 return; … … 290 315 291 316 if (nativeFunctionDeclaration.name() == "operator[]=") { 292 ASSERT(nativeFunctionDeclaration.parameters().size() == 3); 293 auto metalParameter2Name = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[1]->type()); 294 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 295 296 unsigned numberOfRows = numberOfMatrixRows(); 297 unsigned numberOfColumns = numberOfMatrixColumns(); 298 299 stringBuilder.flexibleAppend("do {\n", metalReturnName, " m = ", args[0], ";\n", 300 metalParameter2Name, " i = ", args[1], ";\n"); 301 302 stringBuilder.flexibleAppend( 303 " if (i >= ", numberOfRows, ") {", returnName, " = m;\nbreak;}\n", 304 " m[i] = ", args[2], "[0];\n", 305 " m[i + ", numberOfRows, "] = ", args[2], "[1];\n"); 306 if (numberOfColumns >= 3) 307 stringBuilder.flexibleAppend(" m[i + ", numberOfRows * 2, "] = ", args[2], "[2];\n"); 308 if (numberOfColumns >= 4) 309 stringBuilder.flexibleAppend(" m[i + ", numberOfRows * 3, "] = ", args[2], "[3];\n"); 310 stringBuilder.flexibleAppend( 311 " ", returnName, " = m;\n", 312 "} while(0);\n"); 313 return; 314 } 317 auto& typeReference = downcast<AST::TypeReference>(*nativeFunctionDeclaration.parameters()[0]->type()); 318 size_t numTypeArguments = downcast<AST::NativeTypeDeclaration>(downcast<AST::TypeReference>(downcast<AST::TypeDefinition>(typeReference.resolvedType()).type()).resolvedType()).typeArguments().size(); 319 if (numTypeArguments == 3) { 320 ASSERT(nativeFunctionDeclaration.parameters().size() == 3); 321 auto metalParameter2Name = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[1]->type()); 322 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 323 324 unsigned numberOfRows = numberOfMatrixRows(); 325 unsigned numberOfColumns = numberOfMatrixColumns(); 326 327 stringBuilder.flexibleAppend("do {\n", metalReturnName, " m = ", args[0], ";\n", 328 metalParameter2Name, " i = ", args[1], ";\n"); 329 330 stringBuilder.flexibleAppend( 331 " if (i >= ", numberOfRows, ") {", returnName, " = m;\nbreak;}\n", 332 " m[i] = ", args[2], "[0];\n", 333 " m[i + ", numberOfRows, "] = ", args[2], "[1];\n"); 334 if (numberOfColumns >= 3) 335 stringBuilder.flexibleAppend(" m[i + ", numberOfRows * 2, "] = ", args[2], "[2];\n"); 336 if (numberOfColumns >= 4) 337 stringBuilder.flexibleAppend(" m[i + ", numberOfRows * 3, "] = ", args[2], "[3];\n"); 338 stringBuilder.flexibleAppend( 339 " ", returnName, " = m;\n", 340 "} while(0);\n"); 341 } else { 342 RELEASE_ASSERT(numTypeArguments == 2); 343 344 ASSERT(nativeFunctionDeclaration.parameters().size() == 3); 345 auto metalParameter2Name = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[1]->type()); 346 auto metalReturnName = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 347 348 unsigned numElements = vectorSize(); 349 350 stringBuilder.flexibleAppend("do {\n", metalReturnName, " v = ", args[0], ";\n", 351 metalParameter2Name, " i = ", args[1], ";\n"); 352 353 stringBuilder.flexibleAppend( 354 " if (i >= ", numElements, ") {", returnName, " = v;\nbreak;}\n", 355 " v[i] = ", args[2], ";\n"); 356 stringBuilder.flexibleAppend( 357 " ", returnName, " = v;\n", 358 "} while(0);\n"); 359 } 360 361 return; 362 } 363 364 auto asMatrixType = [&] (AST::UnnamedType& unnamedType) -> AST::NativeTypeDeclaration* { 365 auto& realType = unnamedType.unifyNode(); 366 if (!realType.isNativeTypeDeclaration()) 367 return nullptr; 368 369 auto& maybeMatrixType = downcast<AST::NativeTypeDeclaration>(realType); 370 if (maybeMatrixType.isMatrix()) 371 return &maybeMatrixType; 372 373 return nullptr; 374 }; 315 375 316 376 if (nativeFunctionDeclaration.isOperator()) { 317 377 auto operatorName = nativeFunctionDeclaration.name().substring("operator"_str.length()); 378 auto firstParameterType = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[0]->type()); 318 379 if (nativeFunctionDeclaration.parameters().size() == 1) { 319 auto metalParameterName = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[0]->type()); 320 stringBuilder.flexibleAppend( 321 "{\n", metalParameterName, " x = ", args[0], ";\n", 322 returnName, " = ", operatorName, "x;\n}\n"); 380 if (auto* matrixType = asMatrixType(nativeFunctionDeclaration.type())) { 381 stringBuilder.flexibleAppend( 382 "{\n", firstParameterType, " x = ", args[0], ";\n", 383 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", operatorName, "x[i];\n", 384 returnName, " = x;\n}\n"); 385 } else { 386 stringBuilder.flexibleAppend( 387 "{\n", firstParameterType, " x = ", args[0], ";\n", 388 returnName, " = ", operatorName, "x;\n}\n"); 389 } 323 390 return; 324 391 } 325 392 326 393 ASSERT(nativeFunctionDeclaration.parameters().size() == 2); 327 stringBuilder.flexibleAppend( 328 returnName, " = ", args[0], ' ', operatorName, ' ', args[1], ";\n"); 394 auto secondParameterType = typeNamer.mangledNameForType(*nativeFunctionDeclaration.parameters()[1]->type()); 395 if (auto* leftMatrix = asMatrixType(*nativeFunctionDeclaration.parameters()[0]->type())) { 396 if (auto* rightMatrix = asMatrixType(*nativeFunctionDeclaration.parameters()[1]->type())) { 397 // matrix <op> matrix 398 stringBuilder.flexibleAppend( 399 "{\n", firstParameterType, " x;\n", 400 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], "[i] ", operatorName, ' ', args[1], "[i];\n", 401 returnName, " = x;\n}\n"); 402 } else { 403 // matrix <op> scalar 404 stringBuilder.flexibleAppend( 405 "{\n", firstParameterType, " x;\n", 406 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], "[i] ", operatorName, ' ', args[1], ";\n", 407 returnName, " = x;\n}\n"); 408 } 409 } else if (auto* rightMatrix = asMatrixType(*nativeFunctionDeclaration.parameters()[1]->type())) { 410 ASSERT(!asMatrixType(*nativeFunctionDeclaration.parameters()[0]->type())); 411 // scalar <op> matrix 412 stringBuilder.flexibleAppend( 413 "{\n", secondParameterType, " x;\n", 414 "for (size_t i = 0; i < x.size(); ++i) x[i] = ", args[0], ' ', operatorName, ' ', args[1], "[i];\n", 415 returnName, " = x;\n}\n"); 416 } else { 417 // scalar <op> scalar 418 // vector <op> vector 419 // vector <op> scalar 420 // scalar <op> vector 421 stringBuilder.flexibleAppend( 422 returnName, " = ", args[0], ' ', operatorName, ' ', args[1], ";\n"); 423 } 424 329 425 return; 330 426 } … … 353 449 || nativeFunctionDeclaration.name() == "asint" 354 450 || nativeFunctionDeclaration.name() == "asuint" 355 || nativeFunctionDeclaration.name() == "asfloat") { 451 || nativeFunctionDeclaration.name() == "asfloat" 452 || nativeFunctionDeclaration.name() == "length") { 356 453 ASSERT(nativeFunctionDeclaration.parameters().size() == 1); 357 454 stringBuilder.flexibleAppend( … … 364 461 stringBuilder.flexibleAppend( 365 462 returnName, " = ", nativeFunctionDeclaration.name(), "(", args[0], ", ", args[1], ");\n"); 463 return; 464 } 465 466 if (nativeFunctionDeclaration.name() == "clamp") { 467 ASSERT(nativeFunctionDeclaration.parameters().size() == 3); 468 if (asMatrixType(nativeFunctionDeclaration.type())) { 469 auto metalReturnType = typeNamer.mangledNameForType(nativeFunctionDeclaration.type()); 470 stringBuilder.flexibleAppend( 471 "{\n", metalReturnType, " x;\n", 472 "for (size_t i = 0; i < x.size(); ++i) x[i] = clamp(", args[0], "[i], ", args[1], "[i], ", args[2], "[i]);", 473 returnName, " = x;\n}\n"); 474 } else { 475 stringBuilder.flexibleAppend( 476 returnName, " = clamp(", args[0], ", ", args[1], ", ", args[2], ");\n"); 477 } 366 478 return; 367 479 } -
trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt
r248078 r248730 2449 2449 2450 2450 /* Functions named operator[]= */ 2451 bool2 operator[]=(bool2 v, uint index, bool a) { 2452 switch (index) { 2453 case 0: 2454 v.x = a; 2455 break; 2456 case 1: 2457 v.y = a; 2458 break; 2459 default: 2460 break; 2461 } 2462 return v; 2463 } 2464 bool3 operator[]=(bool3 v, uint index, bool a) { 2465 switch (index) { 2466 case 0: 2467 v.x = a; 2468 break; 2469 case 1: 2470 v.y = a; 2471 break; 2472 case 2: 2473 v.z = a; 2474 break; 2475 default: 2476 break; 2477 } 2478 return v; 2479 } 2480 bool4 operator[]=(bool4 v, uint index, bool a) { 2481 switch (index) { 2482 case 0: 2483 v.x = a; 2484 break; 2485 case 1: 2486 v.y = a; 2487 break; 2488 case 2: 2489 v.z = a; 2490 break; 2491 case 3: 2492 v.w = a; 2493 break; 2494 default: 2495 break; 2496 } 2497 return v; 2498 } 2499 uint2 operator[]=(uint2 v, uint index, uint a) { 2500 switch (index) { 2501 case 0: 2502 v.x = a; 2503 break; 2504 case 1: 2505 v.y = a; 2506 break; 2507 default: 2508 break; 2509 } 2510 return v; 2511 } 2512 uint3 operator[]=(uint3 v, uint index, uint a) { 2513 switch (index) { 2514 case 0: 2515 v.x = a; 2516 break; 2517 case 1: 2518 v.y = a; 2519 break; 2520 case 2: 2521 v.z = a; 2522 break; 2523 default: 2524 break; 2525 } 2526 return v; 2527 } 2528 uint4 operator[]=(uint4 v, uint index, uint a) { 2529 switch (index) { 2530 case 0: 2531 v.x = a; 2532 break; 2533 case 1: 2534 v.y = a; 2535 break; 2536 case 2: 2537 v.z = a; 2538 break; 2539 case 3: 2540 v.w = a; 2541 break; 2542 default: 2543 break; 2544 } 2545 return v; 2546 } 2547 int2 operator[]=(int2 v, uint index, int a) { 2548 switch (index) { 2549 case 0: 2550 v.x = a; 2551 break; 2552 case 1: 2553 v.y = a; 2554 break; 2555 default: 2556 break; 2557 } 2558 return v; 2559 } 2560 int3 operator[]=(int3 v, uint index, int a) { 2561 switch (index) { 2562 case 0: 2563 v.x = a; 2564 break; 2565 case 1: 2566 v.y = a; 2567 break; 2568 case 2: 2569 v.z = a; 2570 break; 2571 default: 2572 break; 2573 } 2574 return v; 2575 } 2576 int4 operator[]=(int4 v, uint index, int a) { 2577 switch (index) { 2578 case 0: 2579 v.x = a; 2580 break; 2581 case 1: 2582 v.y = a; 2583 break; 2584 case 2: 2585 v.z = a; 2586 break; 2587 case 3: 2588 v.w = a; 2589 break; 2590 default: 2591 break; 2592 } 2593 return v; 2594 } 2595 float2 operator[]=(float2 v, uint index, float a) { 2596 switch (index) { 2597 case 0: 2598 v.x = a; 2599 break; 2600 case 1: 2601 v.y = a; 2602 break; 2603 default: 2604 break; 2605 } 2606 return v; 2607 } 2608 float3 operator[]=(float3 v, uint index, float a) { 2609 switch (index) { 2610 case 0: 2611 v.x = a; 2612 break; 2613 case 1: 2614 v.y = a; 2615 break; 2616 case 2: 2617 v.z = a; 2618 break; 2619 default: 2620 break; 2621 } 2622 return v; 2623 } 2624 float4 operator[]=(float4 v, uint index, float a) { 2625 switch (index) { 2626 case 0: 2627 v.x = a; 2628 break; 2629 case 1: 2630 v.y = a; 2631 break; 2632 case 2: 2633 v.z = a; 2634 break; 2635 case 3: 2636 v.w = a; 2637 break; 2638 default: 2639 break; 2640 } 2641 return v; 2642 } 2643 2451 native bool2 operator[]=(bool2, uint, bool); 2452 native bool3 operator[]=(bool3, uint, bool); 2453 native bool4 operator[]=(bool4, uint, bool); 2454 native uint2 operator[]=(uint2, uint, uint); 2455 native uint3 operator[]=(uint3, uint, uint); 2456 native uint4 operator[]=(uint4, uint, uint); 2457 native int2 operator[]=(int2, uint, int); 2458 native int3 operator[]=(int3, uint, int); 2459 native int4 operator[]=(int4, uint, int); 2460 native float2 operator[]=(float2, uint, float); 2461 native float3 operator[]=(float3, uint, float); 2462 native float4 operator[]=(float4, uint, float); 2644 2463 native float2x2 operator[]=(float2x2, uint, float2); 2645 2464 native float2x3 operator[]=(float2x3, uint, float3); … … 3158 2977 3159 2978 /* Functions named length */ 3160 float length(float x) { 3161 return sqrt(dot(x, x)); 3162 } 3163 float length(float2 x) { 3164 return sqrt(dot(x, x)); 3165 } 3166 float length(float3 x) { 3167 return sqrt(dot(x, x)); 3168 } 3169 float length(float4 x) { 3170 return sqrt(dot(x, x)); 3171 } 2979 native float length(float); 2980 native float length(float2); 2981 native float length(float3); 2982 native float length(float4); 3172 2983 3173 2984 … … 11188 10999 11189 11000 /* Functions named operator[] */ 11190 bool operator[](bool2 v, uint index) { 11191 switch (index) { 11192 case 0: 11193 return v.x; 11194 case 1: 11195 return v.y; 11196 default: 11197 break; 11198 } 11199 bool result; 11200 return result; 11201 } 11202 bool operator[](bool3 v, uint index) { 11203 switch (index) { 11204 case 0: 11205 return v.x; 11206 case 1: 11207 return v.y; 11208 case 2: 11209 return v.z; 11210 default: 11211 break; 11212 } 11213 bool result; 11214 return result; 11215 } 11216 bool operator[](bool4 v, uint index) { 11217 switch (index) { 11218 case 0: 11219 return v.x; 11220 case 1: 11221 return v.y; 11222 case 2: 11223 return v.z; 11224 case 3: 11225 return v.w; 11226 default: 11227 break; 11228 } 11229 bool result; 11230 return result; 11231 } 11232 uint operator[](uint2 v, uint index) { 11233 switch (index) { 11234 case 0: 11235 return v.x; 11236 case 1: 11237 return v.y; 11238 default: 11239 break; 11240 } 11241 uint result; 11242 return result; 11243 } 11244 uint operator[](uint3 v, uint index) { 11245 switch (index) { 11246 case 0: 11247 return v.x; 11248 case 1: 11249 return v.y; 11250 case 2: 11251 return v.z; 11252 default: 11253 break; 11254 } 11255 uint result; 11256 return result; 11257 } 11258 uint operator[](uint4 v, uint index) { 11259 switch (index) { 11260 case 0: 11261 return v.x; 11262 case 1: 11263 return v.y; 11264 case 2: 11265 return v.z; 11266 case 3: 11267 return v.w; 11268 default: 11269 break; 11270 } 11271 uint result; 11272 return result; 11273 } 11274 int operator[](int2 v, uint index) { 11275 switch (index) { 11276 case 0: 11277 return v.x; 11278 case 1: 11279 return v.y; 11280 default: 11281 break; 11282 } 11283 int result; 11284 return result; 11285 } 11286 int operator[](int3 v, uint index) { 11287 switch (index) { 11288 case 0: 11289 return v.x; 11290 case 1: 11291 return v.y; 11292 case 2: 11293 return v.z; 11294 default: 11295 break; 11296 } 11297 int result; 11298 return result; 11299 } 11300 int operator[](int4 v, uint index) { 11301 switch (index) { 11302 case 0: 11303 return v.x; 11304 case 1: 11305 return v.y; 11306 case 2: 11307 return v.z; 11308 case 3: 11309 return v.w; 11310 default: 11311 break; 11312 } 11313 int result; 11314 return result; 11315 } 11316 float operator[](float2 v, uint index) { 11317 switch (index) { 11318 case 0: 11319 return v.x; 11320 case 1: 11321 return v.y; 11322 default: 11323 break; 11324 } 11325 float result; 11326 return result; 11327 } 11328 float operator[](float3 v, uint index) { 11329 switch (index) { 11330 case 0: 11331 return v.x; 11332 case 1: 11333 return v.y; 11334 case 2: 11335 return v.z; 11336 default: 11337 break; 11338 } 11339 float result; 11340 return result; 11341 } 11342 float operator[](float4 v, uint index) { 11343 switch (index) { 11344 case 0: 11345 return v.x; 11346 case 1: 11347 return v.y; 11348 case 2: 11349 return v.z; 11350 case 3: 11351 return v.w; 11352 default: 11353 break; 11354 } 11355 float result; 11356 return result; 11357 } 11001 native bool operator[](bool2, uint); 11002 native bool operator[](bool3, uint); 11003 native bool operator[](bool4, uint); 11004 native uint operator[](uint2, uint); 11005 native uint operator[](uint3, uint); 11006 native uint operator[](uint4, uint); 11007 native int operator[](int2, uint); 11008 native int operator[](int3, uint); 11009 native int operator[](int4, uint); 11010 native float operator[](float2, uint); 11011 native float operator[](float3, uint); 11012 native float operator[](float4, uint); 11358 11013 native float2 operator[](float2x2, uint); 11359 11014 native float3 operator[](float2x3, uint); … … 16086 15741 native uint operator*(uint, uint); 16087 15742 native float operator*(float, float); 16088 uint2 operator*(uint2 a, uint2 b) { 16089 uint2 result; 16090 result[0] = a[0] * b[0]; 16091 result[1] = a[1] * b[1]; 16092 return result; 16093 } 16094 uint2 operator*(uint2 a, uint b) { 16095 uint2 result; 16096 result[0] = a[0] * b; 16097 result[1] = a[1] * b; 16098 return result; 16099 } 16100 uint2 operator*(uint a, uint2 b) { 16101 uint2 result; 16102 result[0] = a * b[0]; 16103 result[1] = a * b[1]; 16104 return result; 16105 } 16106 uint3 operator*(uint3 a, uint3 b) { 16107 uint3 result; 16108 result[0] = a[0] * b[0]; 16109 result[1] = a[1] * b[1]; 16110 result[2] = a[2] * b[2]; 16111 return result; 16112 } 16113 uint3 operator*(uint3 a, uint b) { 16114 uint3 result; 16115 result[0] = a[0] * b; 16116 result[1] = a[1] * b; 16117 result[2] = a[2] * b; 16118 return result; 16119 } 16120 uint3 operator*(uint a, uint3 b) { 16121 uint3 result; 16122 result[0] = a * b[0]; 16123 result[1] = a * b[1]; 16124 result[2] = a * b[2]; 16125 return result; 16126 } 16127 uint4 operator*(uint4 a, uint4 b) { 16128 uint4 result; 16129 result[0] = a[0] * b[0]; 16130 result[1] = a[1] * b[1]; 16131 result[2] = a[2] * b[2]; 16132 result[3] = a[3] * b[3]; 16133 return result; 16134 } 16135 uint4 operator*(uint4 a, uint b) { 16136 uint4 result; 16137 result[0] = a[0] * b; 16138 result[1] = a[1] * b; 16139 result[2] = a[2] * b; 16140 result[3] = a[3] * b; 16141 return result; 16142 } 16143 uint4 operator*(uint a, uint4 b) { 16144 uint4 result; 16145 result[0] = a * b[0]; 16146 result[1] = a * b[1]; 16147 result[2] = a * b[2]; 16148 result[3] = a * b[3]; 16149 return result; 16150 } 16151 int2 operator*(int2 a, int2 b) { 16152 int2 result; 16153 result[0] = a[0] * b[0]; 16154 result[1] = a[1] * b[1]; 16155 return result; 16156 } 16157 int2 operator*(int2 a, int b) { 16158 int2 result; 16159 result[0] = a[0] * b; 16160 result[1] = a[1] * b; 16161 return result; 16162 } 16163 int2 operator*(int a, int2 b) { 16164 int2 result; 16165 result[0] = a * b[0]; 16166 result[1] = a * b[1]; 16167 return result; 16168 } 16169 int3 operator*(int3 a, int3 b) { 16170 int3 result; 16171 result[0] = a[0] * b[0]; 16172 result[1] = a[1] * b[1]; 16173 result[2] = a[2] * b[2]; 16174 return result; 16175 } 16176 int3 operator*(int3 a, int b) { 16177 int3 result; 16178 result[0] = a[0] * b; 16179 result[1] = a[1] * b; 16180 result[2] = a[2] * b; 16181 return result; 16182 } 16183 int3 operator*(int a, int3 b) { 16184 int3 result; 16185 result[0] = a * b[0]; 16186 result[1] = a * b[1]; 16187 result[2] = a * b[2]; 16188 return result; 16189 } 16190 int4 operator*(int4 a, int4 b) { 16191 int4 result; 16192 result[0] = a[0] * b[0]; 16193 result[1] = a[1] * b[1]; 16194 result[2] = a[2] * b[2]; 16195 result[3] = a[3] * b[3]; 16196 return result; 16197 } 16198 int4 operator*(int4 a, int b) { 16199 int4 result; 16200 result[0] = a[0] * b; 16201 result[1] = a[1] * b; 16202 result[2] = a[2] * b; 16203 result[3] = a[3] * b; 16204 return result; 16205 } 16206 int4 operator*(int a, int4 b) { 16207 int4 result; 16208 result[0] = a * b[0]; 16209 result[1] = a * b[1]; 16210 result[2] = a * b[2]; 16211 result[3] = a * b[3]; 16212 return result; 16213 } 16214 float2 operator*(float2 a, float2 b) { 16215 float2 result; 16216 result[0] = a[0] * b[0]; 16217 result[1] = a[1] * b[1]; 16218 return result; 16219 } 16220 float2 operator*(float2 a, float b) { 16221 float2 result; 16222 result[0] = a[0] * b; 16223 result[1] = a[1] * b; 16224 return result; 16225 } 16226 float2 operator*(float a, float2 b) { 16227 float2 result; 16228 result[0] = a * b[0]; 16229 result[1] = a * b[1]; 16230 return result; 16231 } 16232 float3 operator*(float3 a, float3 b) { 16233 float3 result; 16234 result[0] = a[0] * b[0]; 16235 result[1] = a[1] * b[1]; 16236 result[2] = a[2] * b[2]; 16237 return result; 16238 } 16239 float3 operator*(float3 a, float b) { 16240 float3 result; 16241 result[0] = a[0] * b; 16242 result[1] = a[1] * b; 16243 result[2] = a[2] * b; 16244 return result; 16245 } 16246 float3 operator*(float a, float3 b) { 16247 float3 result; 16248 result[0] = a * b[0]; 16249 result[1] = a * b[1]; 16250 result[2] = a * b[2]; 16251 return result; 16252 } 16253 float4 operator*(float4 a, float4 b) { 16254 float4 result; 16255 result[0] = a[0] * b[0]; 16256 result[1] = a[1] * b[1]; 16257 result[2] = a[2] * b[2]; 16258 result[3] = a[3] * b[3]; 16259 return result; 16260 } 16261 float4 operator*(float4 a, float b) { 16262 float4 result; 16263 result[0] = a[0] * b; 16264 result[1] = a[1] * b; 16265 result[2] = a[2] * b; 16266 result[3] = a[3] * b; 16267 return result; 16268 } 16269 float4 operator*(float a, float4 b) { 16270 float4 result; 16271 result[0] = a * b[0]; 16272 result[1] = a * b[1]; 16273 result[2] = a * b[2]; 16274 result[3] = a * b[3]; 16275 return result; 16276 } 16277 float2x2 operator*(float2x2 a, float2x2 b) { 16278 float2x2 result; 16279 result[0][0] = a[0][0] * b[0][0]; 16280 result[0][1] = a[0][1] * b[0][1]; 16281 result[1][0] = a[1][0] * b[1][0]; 16282 result[1][1] = a[1][1] * b[1][1]; 16283 return result; 16284 } 16285 float2x2 operator*(float2x2 a, float b) { 16286 float2x2 result; 16287 result[0][0] = a[0][0] * b; 16288 result[0][1] = a[0][1] * b; 16289 result[1][0] = a[1][0] * b; 16290 result[1][1] = a[1][1] * b; 16291 return result; 16292 } 16293 float2x2 operator*(float a, float2x2 b) { 16294 float2x2 result; 16295 result[0][0] = a * b[0][0]; 16296 result[0][1] = a * b[0][1]; 16297 result[1][0] = a * b[1][0]; 16298 result[1][1] = a * b[1][1]; 16299 return result; 16300 } 16301 float2x3 operator*(float2x3 a, float2x3 b) { 16302 float2x3 result; 16303 result[0][0] = a[0][0] * b[0][0]; 16304 result[0][1] = a[0][1] * b[0][1]; 16305 result[0][2] = a[0][2] * b[0][2]; 16306 result[1][0] = a[1][0] * b[1][0]; 16307 result[1][1] = a[1][1] * b[1][1]; 16308 result[1][2] = a[1][2] * b[1][2]; 16309 return result; 16310 } 16311 float2x3 operator*(float2x3 a, float b) { 16312 float2x3 result; 16313 result[0][0] = a[0][0] * b; 16314 result[0][1] = a[0][1] * b; 16315 result[0][2] = a[0][2] * b; 16316 result[1][0] = a[1][0] * b; 16317 result[1][1] = a[1][1] * b; 16318 result[1][2] = a[1][2] * b; 16319 return result; 16320 } 16321 float2x3 operator*(float a, float2x3 b) { 16322 float2x3 result; 16323 result[0][0] = a * b[0][0]; 16324 result[0][1] = a * b[0][1]; 16325 result[0][2] = a * b[0][2]; 16326 result[1][0] = a * b[1][0]; 16327 result[1][1] = a * b[1][1]; 16328 result[1][2] = a * b[1][2]; 16329 return result; 16330 } 16331 float2x4 operator*(float2x4 a, float2x4 b) { 16332 float2x4 result; 16333 result[0][0] = a[0][0] * b[0][0]; 16334 result[0][1] = a[0][1] * b[0][1]; 16335 result[0][2] = a[0][2] * b[0][2]; 16336 result[0][3] = a[0][3] * b[0][3]; 16337 result[1][0] = a[1][0] * b[1][0]; 16338 result[1][1] = a[1][1] * b[1][1]; 16339 result[1][2] = a[1][2] * b[1][2]; 16340 result[1][3] = a[1][3] * b[1][3]; 16341 return result; 16342 } 16343 float2x4 operator*(float2x4 a, float b) { 16344 float2x4 result; 16345 result[0][0] = a[0][0] * b; 16346 result[0][1] = a[0][1] * b; 16347 result[0][2] = a[0][2] * b; 16348 result[0][3] = a[0][3] * b; 16349 result[1][0] = a[1][0] * b; 16350 result[1][1] = a[1][1] * b; 16351 result[1][2] = a[1][2] * b; 16352 result[1][3] = a[1][3] * b; 16353 return result; 16354 } 16355 float2x4 operator*(float a, float2x4 b) { 16356 float2x4 result; 16357 result[0][0] = a * b[0][0]; 16358 result[0][1] = a * b[0][1]; 16359 result[0][2] = a * b[0][2]; 16360 result[0][3] = a * b[0][3]; 16361 result[1][0] = a * b[1][0]; 16362 result[1][1] = a * b[1][1]; 16363 result[1][2] = a * b[1][2]; 16364 result[1][3] = a * b[1][3]; 16365 return result; 16366 } 16367 float3x2 operator*(float3x2 a, float3x2 b) { 16368 float3x2 result; 16369 result[0][0] = a[0][0] * b[0][0]; 16370 result[0][1] = a[0][1] * b[0][1]; 16371 result[1][0] = a[1][0] * b[1][0]; 16372 result[1][1] = a[1][1] * b[1][1]; 16373 result[2][0] = a[2][0] * b[2][0]; 16374 result[2][1] = a[2][1] * b[2][1]; 16375 return result; 16376 } 16377 float3x2 operator*(float3x2 a, float b) { 16378 float3x2 result; 16379 result[0][0] = a[0][0] * b; 16380 result[0][1] = a[0][1] * b; 16381 result[1][0] = a[1][0] * b; 16382 result[1][1] = a[1][1] * b; 16383 result[2][0] = a[2][0] * b; 16384 result[2][1] = a[2][1] * b; 16385 return result; 16386 } 16387 float3x2 operator*(float a, float3x2 b) { 16388 float3x2 result; 16389 result[0][0] = a * b[0][0]; 16390 result[0][1] = a * b[0][1]; 16391 result[1][0] = a * b[1][0]; 16392 result[1][1] = a * b[1][1]; 16393 result[2][0] = a * b[2][0]; 16394 result[2][1] = a * b[2][1]; 16395 return result; 16396 } 16397 float3x3 operator*(float3x3 a, float3x3 b) { 16398 float3x3 result; 16399 result[0][0] = a[0][0] * b[0][0]; 16400 result[0][1] = a[0][1] * b[0][1]; 16401 result[0][2] = a[0][2] * b[0][2]; 16402 result[1][0] = a[1][0] * b[1][0]; 16403 result[1][1] = a[1][1] * b[1][1]; 16404 result[1][2] = a[1][2] * b[1][2]; 16405 result[2][0] = a[2][0] * b[2][0]; 16406 result[2][1] = a[2][1] * b[2][1]; 16407 result[2][2] = a[2][2] * b[2][2]; 16408 return result; 16409 } 16410 float3x3 operator*(float3x3 a, float b) { 16411 float3x3 result; 16412 result[0][0] = a[0][0] * b; 16413 result[0][1] = a[0][1] * b; 16414 result[0][2] = a[0][2] * b; 16415 result[1][0] = a[1][0] * b; 16416 result[1][1] = a[1][1] * b; 16417 result[1][2] = a[1][2] * b; 16418 result[2][0] = a[2][0] * b; 16419 result[2][1] = a[2][1] * b; 16420 result[2][2] = a[2][2] * b; 16421 return result; 16422 } 16423 float3x3 operator*(float a, float3x3 b) { 16424 float3x3 result; 16425 result[0][0] = a * b[0][0]; 16426 result[0][1] = a * b[0][1]; 16427 result[0][2] = a * b[0][2]; 16428 result[1][0] = a * b[1][0]; 16429 result[1][1] = a * b[1][1]; 16430 result[1][2] = a * b[1][2]; 16431 result[2][0] = a * b[2][0]; 16432 result[2][1] = a * b[2][1]; 16433 result[2][2] = a * b[2][2]; 16434 return result; 16435 } 16436 float3x4 operator*(float3x4 a, float3x4 b) { 16437 float3x4 result; 16438 result[0][0] = a[0][0] * b[0][0]; 16439 result[0][1] = a[0][1] * b[0][1]; 16440 result[0][2] = a[0][2] * b[0][2]; 16441 result[0][3] = a[0][3] * b[0][3]; 16442 result[1][0] = a[1][0] * b[1][0]; 16443 result[1][1] = a[1][1] * b[1][1]; 16444 result[1][2] = a[1][2] * b[1][2]; 16445 result[1][3] = a[1][3] * b[1][3]; 16446 result[2][0] = a[2][0] * b[2][0]; 16447 result[2][1] = a[2][1] * b[2][1]; 16448 result[2][2] = a[2][2] * b[2][2]; 16449 result[2][3] = a[2][3] * b[2][3]; 16450 return result; 16451 } 16452 float3x4 operator*(float3x4 a, float b) { 16453 float3x4 result; 16454 result[0][0] = a[0][0] * b; 16455 result[0][1] = a[0][1] * b; 16456 result[0][2] = a[0][2] * b; 16457 result[0][3] = a[0][3] * b; 16458 result[1][0] = a[1][0] * b; 16459 result[1][1] = a[1][1] * b; 16460 result[1][2] = a[1][2] * b; 16461 result[1][3] = a[1][3] * b; 16462 result[2][0] = a[2][0] * b; 16463 result[2][1] = a[2][1] * b; 16464 result[2][2] = a[2][2] * b; 16465 result[2][3] = a[2][3] * b; 16466 return result; 16467 } 16468 float3x4 operator*(float a, float3x4 b) { 16469 float3x4 result; 16470 result[0][0] = a * b[0][0]; 16471 result[0][1] = a * b[0][1]; 16472 result[0][2] = a * b[0][2]; 16473 result[0][3] = a * b[0][3]; 16474 result[1][0] = a * b[1][0]; 16475 result[1][1] = a * b[1][1]; 16476 result[1][2] = a * b[1][2]; 16477 result[1][3] = a * b[1][3]; 16478 result[2][0] = a * b[2][0]; 16479 result[2][1] = a * b[2][1]; 16480 result[2][2] = a * b[2][2]; 16481 result[2][3] = a * b[2][3]; 16482 return result; 16483 } 16484 float4x2 operator*(float4x2 a, float4x2 b) { 16485 float4x2 result; 16486 result[0][0] = a[0][0] * b[0][0]; 16487 result[0][1] = a[0][1] * b[0][1]; 16488 result[1][0] = a[1][0] * b[1][0]; 16489 result[1][1] = a[1][1] * b[1][1]; 16490 result[2][0] = a[2][0] * b[2][0]; 16491 result[2][1] = a[2][1] * b[2][1]; 16492 result[3][0] = a[3][0] * b[3][0]; 16493 result[3][1] = a[3][1] * b[3][1]; 16494 return result; 16495 } 16496 float4x2 operator*(float4x2 a, float b) { 16497 float4x2 result; 16498 result[0][0] = a[0][0] * b; 16499 result[0][1] = a[0][1] * b; 16500 result[1][0] = a[1][0] * b; 16501 result[1][1] = a[1][1] * b; 16502 result[2][0] = a[2][0] * b; 16503 result[2][1] = a[2][1] * b; 16504 result[3][0] = a[3][0] * b; 16505 result[3][1] = a[3][1] * b; 16506 return result; 16507 } 16508 float4x2 operator*(float a, float4x2 b) { 16509 float4x2 result; 16510 result[0][0] = a * b[0][0]; 16511 result[0][1] = a * b[0][1]; 16512 result[1][0] = a * b[1][0]; 16513 result[1][1] = a * b[1][1]; 16514 result[2][0] = a * b[2][0]; 16515 result[2][1] = a * b[2][1]; 16516 result[3][0] = a * b[3][0]; 16517 result[3][1] = a * b[3][1]; 16518 return result; 16519 } 16520 float4x3 operator*(float4x3 a, float4x3 b) { 16521 float4x3 result; 16522 result[0][0] = a[0][0] * b[0][0]; 16523 result[0][1] = a[0][1] * b[0][1]; 16524 result[0][2] = a[0][2] * b[0][2]; 16525 result[1][0] = a[1][0] * b[1][0]; 16526 result[1][1] = a[1][1] * b[1][1]; 16527 result[1][2] = a[1][2] * b[1][2]; 16528 result[2][0] = a[2][0] * b[2][0]; 16529 result[2][1] = a[2][1] * b[2][1]; 16530 result[2][2] = a[2][2] * b[2][2]; 16531 result[3][0] = a[3][0] * b[3][0]; 16532 result[3][1] = a[3][1] * b[3][1]; 16533 result[3][2] = a[3][2] * b[3][2]; 16534 return result; 16535 } 16536 float4x3 operator*(float4x3 a, float b) { 16537 float4x3 result; 16538 result[0][0] = a[0][0] * b; 16539 result[0][1] = a[0][1] * b; 16540 result[0][2] = a[0][2] * b; 16541 result[1][0] = a[1][0] * b; 16542 result[1][1] = a[1][1] * b; 16543 result[1][2] = a[1][2] * b; 16544 result[2][0] = a[2][0] * b; 16545 result[2][1] = a[2][1] * b; 16546 result[2][2] = a[2][2] * b; 16547 result[3][0] = a[3][0] * b; 16548 result[3][1] = a[3][1] * b; 16549 result[3][2] = a[3][2] * b; 16550 return result; 16551 } 16552 float4x3 operator*(float a, float4x3 b) { 16553 float4x3 result; 16554 result[0][0] = a * b[0][0]; 16555 result[0][1] = a * b[0][1]; 16556 result[0][2] = a * b[0][2]; 16557 result[1][0] = a * b[1][0]; 16558 result[1][1] = a * b[1][1]; 16559 result[1][2] = a * b[1][2]; 16560 result[2][0] = a * b[2][0]; 16561 result[2][1] = a * b[2][1]; 16562 result[2][2] = a * b[2][2]; 16563 result[3][0] = a * b[3][0]; 16564 result[3][1] = a * b[3][1]; 16565 result[3][2] = a * b[3][2]; 16566 return result; 16567 } 16568 float4x4 operator*(float4x4 a, float4x4 b) { 16569 float4x4 result; 16570 result[0][0] = a[0][0] * b[0][0]; 16571 result[0][1] = a[0][1] * b[0][1]; 16572 result[0][2] = a[0][2] * b[0][2]; 16573 result[0][3] = a[0][3] * b[0][3]; 16574 result[1][0] = a[1][0] * b[1][0]; 16575 result[1][1] = a[1][1] * b[1][1]; 16576 result[1][2] = a[1][2] * b[1][2]; 16577 result[1][3] = a[1][3] * b[1][3]; 16578 result[2][0] = a[2][0] * b[2][0]; 16579 result[2][1] = a[2][1] * b[2][1]; 16580 result[2][2] = a[2][2] * b[2][2]; 16581 result[2][3] = a[2][3] * b[2][3]; 16582 result[3][0] = a[3][0] * b[3][0]; 16583 result[3][1] = a[3][1] * b[3][1]; 16584 result[3][2] = a[3][2] * b[3][2]; 16585 result[3][3] = a[3][3] * b[3][3]; 16586 return result; 16587 } 16588 float4x4 operator*(float4x4 a, float b) { 16589 float4x4 result; 16590 result[0][0] = a[0][0] * b; 16591 result[0][1] = a[0][1] * b; 16592 result[0][2] = a[0][2] * b; 16593 result[0][3] = a[0][3] * b; 16594 result[1][0] = a[1][0] * b; 16595 result[1][1] = a[1][1] * b; 16596 result[1][2] = a[1][2] * b; 16597 result[1][3] = a[1][3] * b; 16598 result[2][0] = a[2][0] * b; 16599 result[2][1] = a[2][1] * b; 16600 result[2][2] = a[2][2] * b; 16601 result[2][3] = a[2][3] * b; 16602 result[3][0] = a[3][0] * b; 16603 result[3][1] = a[3][1] * b; 16604 result[3][2] = a[3][2] * b; 16605 result[3][3] = a[3][3] * b; 16606 return result; 16607 } 16608 float4x4 operator*(float a, float4x4 b) { 16609 float4x4 result; 16610 result[0][0] = a * b[0][0]; 16611 result[0][1] = a * b[0][1]; 16612 result[0][2] = a * b[0][2]; 16613 result[0][3] = a * b[0][3]; 16614 result[1][0] = a * b[1][0]; 16615 result[1][1] = a * b[1][1]; 16616 result[1][2] = a * b[1][2]; 16617 result[1][3] = a * b[1][3]; 16618 result[2][0] = a * b[2][0]; 16619 result[2][1] = a * b[2][1]; 16620 result[2][2] = a * b[2][2]; 16621 result[2][3] = a * b[2][3]; 16622 result[3][0] = a * b[3][0]; 16623 result[3][1] = a * b[3][1]; 16624 result[3][2] = a * b[3][2]; 16625 result[3][3] = a * b[3][3]; 16626 return result; 16627 } 15743 native uint2 operator*(uint2, uint2); 15744 native uint2 operator*(uint2, uint); 15745 native uint2 operator*(uint, uint2); 15746 native uint3 operator*(uint3, uint3); 15747 native uint3 operator*(uint3, uint); 15748 native uint3 operator*(uint, uint3); 15749 native uint4 operator*(uint4, uint4); 15750 native uint4 operator*(uint4, uint); 15751 native uint4 operator*(uint, uint4); 15752 native int2 operator*(int2, int2); 15753 native int2 operator*(int2, int); 15754 native int2 operator*(int, int2); 15755 native int3 operator*(int3, int3); 15756 native int3 operator*(int3, int); 15757 native int3 operator*(int, int3); 15758 native int4 operator*(int4, int4); 15759 native int4 operator*(int4, int); 15760 native int4 operator*(int, int4); 15761 native float2 operator*(float2, float2); 15762 native float2 operator*(float2, float); 15763 native float2 operator*(float, float2); 15764 native float3 operator*(float3, float3); 15765 native float3 operator*(float3, float); 15766 native float3 operator*(float, float3); 15767 native float4 operator*(float4, float4); 15768 native float4 operator*(float4, float); 15769 native float4 operator*(float, float4); 15770 native float2x2 operator*(float2x2, float2x2); 15771 native float2x2 operator*(float2x2, float); 15772 native float2x2 operator*(float, float2x2); 15773 native float2x3 operator*(float2x3, float2x3); 15774 native float2x3 operator*(float2x3, float); 15775 native float2x3 operator*(float, float2x3); 15776 native float2x4 operator*(float2x4, float2x4); 15777 native float2x4 operator*(float2x4, float); 15778 native float2x4 operator*(float, float2x4); 15779 native float3x2 operator*(float3x2, float3x2); 15780 native float3x2 operator*(float3x2, float); 15781 native float3x2 operator*(float, float3x2); 15782 native float3x3 operator*(float3x3, float3x3); 15783 native float3x3 operator*(float3x3, float); 15784 native float3x3 operator*(float, float3x3); 15785 native float3x4 operator*(float3x4, float3x4); 15786 native float3x4 operator*(float3x4, float); 15787 native float3x4 operator*(float, float3x4); 15788 native float4x2 operator*(float4x2, float4x2); 15789 native float4x2 operator*(float4x2, float); 15790 native float4x2 operator*(float, float4x2); 15791 native float4x3 operator*(float4x3, float4x3); 15792 native float4x3 operator*(float4x3, float); 15793 native float4x3 operator*(float, float4x3); 15794 native float4x4 operator*(float4x4, float4x4); 15795 native float4x4 operator*(float4x4, float); 15796 native float4x4 operator*(float, float4x4); 16628 15797 16629 15798 /* Functions named cos */ … … 24038 23207 native int operator-(int); 24039 23208 native float operator-(float); 24040 24041 uint2 operator-(uint2 a, uint2 b) { 24042 uint2 result; 24043 result[0] = a[0] - b[0]; 24044 result[1] = a[1] - b[1]; 24045 return result; 24046 } 24047 uint3 operator-(uint3 a, uint3 b) { 24048 uint3 result; 24049 result[0] = a[0] - b[0]; 24050 result[1] = a[1] - b[1]; 24051 result[2] = a[2] - b[2]; 24052 return result; 24053 } 24054 uint4 operator-(uint4 a, uint4 b) { 24055 uint4 result; 24056 result[0] = a[0] - b[0]; 24057 result[1] = a[1] - b[1]; 24058 result[2] = a[2] - b[2]; 24059 result[3] = a[3] - b[3]; 24060 return result; 24061 } 24062 int2 operator-(int2 a, int2 b) { 24063 int2 result; 24064 result[0] = a[0] - b[0]; 24065 result[1] = a[1] - b[1]; 24066 return result; 24067 } 24068 int3 operator-(int3 a, int3 b) { 24069 int3 result; 24070 result[0] = a[0] - b[0]; 24071 result[1] = a[1] - b[1]; 24072 result[2] = a[2] - b[2]; 24073 return result; 24074 } 24075 int4 operator-(int4 a, int4 b) { 24076 int4 result; 24077 result[0] = a[0] - b[0]; 24078 result[1] = a[1] - b[1]; 24079 result[2] = a[2] - b[2]; 24080 result[3] = a[3] - b[3]; 24081 return result; 24082 } 24083 float2 operator-(float2 a, float2 b) { 24084 float2 result; 24085 result[0] = a[0] - b[0]; 24086 result[1] = a[1] - b[1]; 24087 return result; 24088 } 24089 float3 operator-(float3 a, float3 b) { 24090 float3 result; 24091 result[0] = a[0] - b[0]; 24092 result[1] = a[1] - b[1]; 24093 result[2] = a[2] - b[2]; 24094 return result; 24095 } 24096 float4 operator-(float4 a, float4 b) { 24097 float4 result; 24098 result[0] = a[0] - b[0]; 24099 result[1] = a[1] - b[1]; 24100 result[2] = a[2] - b[2]; 24101 result[3] = a[3] - b[3]; 24102 return result; 24103 } 24104 int2 operator-(int2 a) { 24105 int2 result; 24106 result[0] = -a[0]; 24107 result[1] = -a[1]; 24108 return result; 24109 } 24110 int3 operator-(int3 a) { 24111 int3 result; 24112 result[0] = -a[0]; 24113 result[1] = -a[1]; 24114 result[2] = -a[2]; 24115 return result; 24116 } 24117 int4 operator-(int4 a) { 24118 int4 result; 24119 result[0] = -a[0]; 24120 result[1] = -a[1]; 24121 result[2] = -a[2]; 24122 result[3] = -a[3]; 24123 return result; 24124 } 24125 float2 operator-(float2 a) { 24126 float2 result; 24127 result[0] = -a[0]; 24128 result[1] = -a[1]; 24129 return result; 24130 } 24131 float3 operator-(float3 a) { 24132 float3 result; 24133 result[0] = -a[0]; 24134 result[1] = -a[1]; 24135 result[2] = -a[2]; 24136 return result; 24137 } 24138 float4 operator-(float4 a) { 24139 float4 result; 24140 result[0] = -a[0]; 24141 result[1] = -a[1]; 24142 result[2] = -a[2]; 24143 result[3] = -a[3]; 24144 return result; 24145 } 24146 float2x2 operator-(float2x2 a, float2x2 b) { 24147 float2x2 result; 24148 result[0][0] = a[0][0] - b[0][0]; 24149 result[0][1] = a[0][1] - b[0][1]; 24150 result[1][0] = a[1][0] - b[1][0]; 24151 result[1][1] = a[1][1] - b[1][1]; 24152 return result; 24153 } 24154 float2x2 operator-(float2x2 a) { 24155 float2x2 result; 24156 result[0][0] = -a[0][0]; 24157 result[0][1] = -a[0][1]; 24158 result[1][0] = -a[1][0]; 24159 result[1][1] = -a[1][1]; 24160 return result; 24161 } 24162 float2x3 operator-(float2x3 a, float2x3 b) { 24163 float2x3 result; 24164 result[0][0] = a[0][0] - b[0][0]; 24165 result[0][1] = a[0][1] - b[0][1]; 24166 result[0][2] = a[0][2] - b[0][2]; 24167 result[1][0] = a[1][0] - b[1][0]; 24168 result[1][1] = a[1][1] - b[1][1]; 24169 result[1][2] = a[1][2] - b[1][2]; 24170 return result; 24171 } 24172 float2x3 operator-(float2x3 a) { 24173 float2x3 result; 24174 result[0][0] = -a[0][0]; 24175 result[0][1] = -a[0][1]; 24176 result[0][2] = -a[0][2]; 24177 result[1][0] = -a[1][0]; 24178 result[1][1] = -a[1][1]; 24179 result[1][2] = -a[1][2]; 24180 return result; 24181 } 24182 float2x4 operator-(float2x4 a, float2x4 b) { 24183 float2x4 result; 24184 result[0][0] = a[0][0] - b[0][0]; 24185 result[0][1] = a[0][1] - b[0][1]; 24186 result[0][2] = a[0][2] - b[0][2]; 24187 result[0][3] = a[0][3] - b[0][3]; 24188 result[1][0] = a[1][0] - b[1][0]; 24189 result[1][1] = a[1][1] - b[1][1]; 24190 result[1][2] = a[1][2] - b[1][2]; 24191 result[1][3] = a[1][3] - b[1][3]; 24192 return result; 24193 } 24194 float2x4 operator-(float2x4 a) { 24195 float2x4 result; 24196 result[0][0] = -a[0][0]; 24197 result[0][1] = -a[0][1]; 24198 result[0][2] = -a[0][2]; 24199 result[0][3] = -a[0][3]; 24200 result[1][0] = -a[1][0]; 24201 result[1][1] = -a[1][1]; 24202 result[1][2] = -a[1][2]; 24203 result[1][3] = -a[1][3]; 24204 return result; 24205 } 24206 float3x2 operator-(float3x2 a, float3x2 b) { 24207 float3x2 result; 24208 result[0][0] = a[0][0] - b[0][0]; 24209 result[0][1] = a[0][1] - b[0][1]; 24210 result[1][0] = a[1][0] - b[1][0]; 24211 result[1][1] = a[1][1] - b[1][1]; 24212 result[2][0] = a[2][0] - b[2][0]; 24213 result[2][1] = a[2][1] - b[2][1]; 24214 return result; 24215 } 24216 float3x2 operator-(float3x2 a) { 24217 float3x2 result; 24218 result[0][0] = -a[0][0]; 24219 result[0][1] = -a[0][1]; 24220 result[1][0] = -a[1][0]; 24221 result[1][1] = -a[1][1]; 24222 result[2][0] = -a[2][0]; 24223 result[2][1] = -a[2][1]; 24224 return result; 24225 } 24226 float3x3 operator-(float3x3 a, float3x3 b) { 24227 float3x3 result; 24228 result[0][0] = a[0][0] - b[0][0]; 24229 result[0][1] = a[0][1] - b[0][1]; 24230 result[0][2] = a[0][2] - b[0][2]; 24231 result[1][0] = a[1][0] - b[1][0]; 24232 result[1][1] = a[1][1] - b[1][1]; 24233 result[1][2] = a[1][2] - b[1][2]; 24234 result[2][0] = a[2][0] - b[2][0]; 24235 result[2][1] = a[2][1] - b[2][1]; 24236 result[2][2] = a[2][2] - b[2][2]; 24237 return result; 24238 } 24239 float3x3 operator-(float3x3 a) { 24240 float3x3 result; 24241 result[0][0] = -a[0][0]; 24242 result[0][1] = -a[0][1]; 24243 result[0][2] = -a[0][2]; 24244 result[1][0] = -a[1][0]; 24245 result[1][1] = -a[1][1]; 24246 result[1][2] = -a[1][2]; 24247 result[2][0] = -a[2][0]; 24248 result[2][1] = -a[2][1]; 24249 result[2][2] = -a[2][2]; 24250 return result; 24251 } 24252 float3x4 operator-(float3x4 a, float3x4 b) { 24253 float3x4 result; 24254 result[0][0] = a[0][0] - b[0][0]; 24255 result[0][1] = a[0][1] - b[0][1]; 24256 result[0][2] = a[0][2] - b[0][2]; 24257 result[0][3] = a[0][3] - b[0][3]; 24258 result[1][0] = a[1][0] - b[1][0]; 24259 result[1][1] = a[1][1] - b[1][1]; 24260 result[1][2] = a[1][2] - b[1][2]; 24261 result[1][3] = a[1][3] - b[1][3]; 24262 result[2][0] = a[2][0] - b[2][0]; 24263 result[2][1] = a[2][1] - b[2][1]; 24264 result[2][2] = a[2][2] - b[2][2]; 24265 result[2][3] = a[2][3] - b[2][3]; 24266 return result; 24267 } 24268 float3x4 operator-(float3x4 a) { 24269 float3x4 result; 24270 result[0][0] = -a[0][0]; 24271 result[0][1] = -a[0][1]; 24272 result[0][2] = -a[0][2]; 24273 result[0][3] = -a[0][3]; 24274 result[1][0] = -a[1][0]; 24275 result[1][1] = -a[1][1]; 24276 result[1][2] = -a[1][2]; 24277 result[1][3] = -a[1][3]; 24278 result[2][0] = -a[2][0]; 24279 result[2][1] = -a[2][1]; 24280 result[2][2] = -a[2][2]; 24281 result[2][3] = -a[2][3]; 24282 return result; 24283 } 24284 float4x2 operator-(float4x2 a, float4x2 b) { 24285 float4x2 result; 24286 result[0][0] = a[0][0] - b[0][0]; 24287 result[0][1] = a[0][1] - b[0][1]; 24288 result[1][0] = a[1][0] - b[1][0]; 24289 result[1][1] = a[1][1] - b[1][1]; 24290 result[2][0] = a[2][0] - b[2][0]; 24291 result[2][1] = a[2][1] - b[2][1]; 24292 result[3][0] = a[3][0] - b[3][0]; 24293 result[3][1] = a[3][1] - b[3][1]; 24294 return result; 24295 } 24296 float4x2 operator-(float4x2 a) { 24297 float4x2 result; 24298 result[0][0] = -a[0][0]; 24299 result[0][1] = -a[0][1]; 24300 result[1][0] = -a[1][0]; 24301 result[1][1] = -a[1][1]; 24302 result[2][0] = -a[2][0]; 24303 result[2][1] = -a[2][1]; 24304 result[3][0] = -a[3][0]; 24305 result[3][1] = -a[3][1]; 24306 return result; 24307 } 24308 float4x3 operator-(float4x3 a, float4x3 b) { 24309 float4x3 result; 24310 result[0][0] = a[0][0] - b[0][0]; 24311 result[0][1] = a[0][1] - b[0][1]; 24312 result[0][2] = a[0][2] - b[0][2]; 24313 result[1][0] = a[1][0] - b[1][0]; 24314 result[1][1] = a[1][1] - b[1][1]; 24315 result[1][2] = a[1][2] - b[1][2]; 24316 result[2][0] = a[2][0] - b[2][0]; 24317 result[2][1] = a[2][1] - b[2][1]; 24318 result[2][2] = a[2][2] - b[2][2]; 24319 result[3][0] = a[3][0] - b[3][0]; 24320 result[3][1] = a[3][1] - b[3][1]; 24321 result[3][2] = a[3][2] - b[3][2]; 24322 return result; 24323 } 24324 float4x3 operator-(float4x3 a) { 24325 float4x3 result; 24326 result[0][0] = -a[0][0]; 24327 result[0][1] = -a[0][1]; 24328 result[0][2] = -a[0][2]; 24329 result[1][0] = -a[1][0]; 24330 result[1][1] = -a[1][1]; 24331 result[1][2] = -a[1][2]; 24332 result[2][0] = -a[2][0]; 24333 result[2][1] = -a[2][1]; 24334 result[2][2] = -a[2][2]; 24335 result[3][0] = -a[3][0]; 24336 result[3][1] = -a[3][1]; 24337 result[3][2] = -a[3][2]; 24338 return result; 24339 } 24340 float4x4 operator-(float4x4 a, float4x4 b) { 24341 float4x4 result; 24342 result[0][0] = a[0][0] - b[0][0]; 24343 result[0][1] = a[0][1] - b[0][1]; 24344 result[0][2] = a[0][2] - b[0][2]; 24345 result[0][3] = a[0][3] - b[0][3]; 24346 result[1][0] = a[1][0] - b[1][0]; 24347 result[1][1] = a[1][1] - b[1][1]; 24348 result[1][2] = a[1][2] - b[1][2]; 24349 result[1][3] = a[1][3] - b[1][3]; 24350 result[2][0] = a[2][0] - b[2][0]; 24351 result[2][1] = a[2][1] - b[2][1]; 24352 result[2][2] = a[2][2] - b[2][2]; 24353 result[2][3] = a[2][3] - b[2][3]; 24354 result[3][0] = a[3][0] - b[3][0]; 24355 result[3][1] = a[3][1] - b[3][1]; 24356 result[3][2] = a[3][2] - b[3][2]; 24357 result[3][3] = a[3][3] - b[3][3]; 24358 return result; 24359 } 24360 float4x4 operator-(float4x4 a) { 24361 float4x4 result; 24362 result[0][0] = -a[0][0]; 24363 result[0][1] = -a[0][1]; 24364 result[0][2] = -a[0][2]; 24365 result[0][3] = -a[0][3]; 24366 result[1][0] = -a[1][0]; 24367 result[1][1] = -a[1][1]; 24368 result[1][2] = -a[1][2]; 24369 result[1][3] = -a[1][3]; 24370 result[2][0] = -a[2][0]; 24371 result[2][1] = -a[2][1]; 24372 result[2][2] = -a[2][2]; 24373 result[2][3] = -a[2][3]; 24374 result[3][0] = -a[3][0]; 24375 result[3][1] = -a[3][1]; 24376 result[3][2] = -a[3][2]; 24377 result[3][3] = -a[3][3]; 24378 return result; 24379 } 23209 native uint2 operator-(uint2, uint2); 23210 native uint2 operator-(uint, uint2); 23211 native uint2 operator-(uint2, uint); 23212 native uint3 operator-(uint3, uint3); 23213 native uint3 operator-(uint, uint3); 23214 native uint3 operator-(uint3, uint); 23215 native uint4 operator-(uint4, uint4); 23216 native uint4 operator-(uint, uint4); 23217 native uint4 operator-(uint4, uint); 23218 native int2 operator-(int2, int2); 23219 native int2 operator-(int, int2); 23220 native int2 operator-(int2, int); 23221 native int3 operator-(int3, int3); 23222 native int3 operator-(int, int3); 23223 native int3 operator-(int3, int); 23224 native int4 operator-(int4, int4); 23225 native int4 operator-(int, int4); 23226 native int4 operator-(int4, int); 23227 native float2 operator-(float2, float2); 23228 native float2 operator-(float, float2); 23229 native float2 operator-(float2, float); 23230 native float3 operator-(float3, float3); 23231 native float3 operator-(float, float3); 23232 native float3 operator-(float3, float); 23233 native float4 operator-(float4, float4); 23234 native float4 operator-(float, float4); 23235 native float4 operator-(float4, float); 23236 native int2 operator-(int2); 23237 native int3 operator-(int3); 23238 native int4 operator-(int4); 23239 native float2 operator-(float2); 23240 native float3 operator-(float3); 23241 native float4 operator-(float4); 23242 native float2x2 operator-(float2x2, float2x2); 23243 native float2x2 operator-(float2x2, float); 23244 native float2x2 operator-(float, float2x2); 23245 native float2x2 operator-(float2x2); 23246 native float2x3 operator-(float2x3, float2x3); 23247 native float2x3 operator-(float, float2x3); 23248 native float2x3 operator-(float2x3, float); 23249 native float2x3 operator-(float2x3); 23250 native float2x4 operator-(float2x4, float2x4); 23251 native float2x4 operator-(float, float2x4); 23252 native float2x4 operator-(float2x4, float); 23253 native float2x4 operator-(float2x4); 23254 native float3x2 operator-(float3x2, float3x2); 23255 native float3x2 operator-(float, float3x2); 23256 native float3x2 operator-(float3x2, float); 23257 native float3x2 operator-(float3x2); 23258 native float3x3 operator-(float3x3, float3x3); 23259 native float3x3 operator-(float, float3x3); 23260 native float3x3 operator-(float3x3, float); 23261 native float3x3 operator-(float3x3); 23262 native float3x4 operator-(float3x4, float3x4); 23263 native float3x4 operator-(float, float3x4); 23264 native float3x4 operator-(float3x4, float); 23265 native float3x4 operator-(float3x4); 23266 native float4x2 operator-(float4x2, float4x2); 23267 native float4x2 operator-(float, float4x2); 23268 native float4x2 operator-(float4x2, float); 23269 native float4x2 operator-(float4x2); 23270 native float4x3 operator-(float4x3, float4x3); 23271 native float4x3 operator-(float, float4x3); 23272 native float4x3 operator-(float4x3, float); 23273 native float4x3 operator-(float4x3); 23274 native float4x4 operator-(float4x4, float4x4); 23275 native float4x4 operator-(float, float4x4); 23276 native float4x4 operator-(float4x4, float); 23277 native float4x4 operator-(float4x4); 24380 23278 24381 23279 /* Functions named min */ … … 27576 26474 27577 26475 /* Functions named clamp */ 27578 27579 27580 uint clamp(uint x, uint lower, uint upper) { 27581 return max(min(upper, x), lower); 27582 } 27583 uint2 clamp(uint2 x, uint2 y, uint2 z) { 27584 uint2 result; 27585 result[0] = clamp(x[0], y[0], z[0]); 27586 result[1] = clamp(x[1], y[1], z[1]); 27587 return result; 27588 } 27589 uint3 clamp(uint3 x, uint3 y, uint3 z) { 27590 uint3 result; 27591 result[0] = clamp(x[0], y[0], z[0]); 27592 result[1] = clamp(x[1], y[1], z[1]); 27593 result[2] = clamp(x[2], y[2], z[2]); 27594 return result; 27595 } 27596 uint4 clamp(uint4 x, uint4 y, uint4 z) { 27597 uint4 result; 27598 result[0] = clamp(x[0], y[0], z[0]); 27599 result[1] = clamp(x[1], y[1], z[1]); 27600 result[2] = clamp(x[2], y[2], z[2]); 27601 result[3] = clamp(x[3], y[3], z[3]); 27602 return result; 27603 } 27604 27605 27606 27607 int clamp(int x, int lower, int upper) { 27608 return max(min(upper, x), lower); 27609 } 27610 int2 clamp(int2 x, int2 y, int2 z) { 27611 int2 result; 27612 result[0] = clamp(x[0], y[0], z[0]); 27613 result[1] = clamp(x[1], y[1], z[1]); 27614 return result; 27615 } 27616 int3 clamp(int3 x, int3 y, int3 z) { 27617 int3 result; 27618 result[0] = clamp(x[0], y[0], z[0]); 27619 result[1] = clamp(x[1], y[1], z[1]); 27620 result[2] = clamp(x[2], y[2], z[2]); 27621 return result; 27622 } 27623 int4 clamp(int4 x, int4 y, int4 z) { 27624 int4 result; 27625 result[0] = clamp(x[0], y[0], z[0]); 27626 result[1] = clamp(x[1], y[1], z[1]); 27627 result[2] = clamp(x[2], y[2], z[2]); 27628 result[3] = clamp(x[3], y[3], z[3]); 27629 return result; 27630 } 27631 27632 27633 float clamp(float x, float lower, float upper) { 27634 return max(min(upper, x), lower); 27635 } 27636 float2 clamp(float2 x, float2 y, float2 z) { 27637 float2 result; 27638 result[0] = clamp(x[0], y[0], z[0]); 27639 result[1] = clamp(x[1], y[1], z[1]); 27640 return result; 27641 } 27642 float3 clamp(float3 x, float3 y, float3 z) { 27643 float3 result; 27644 result[0] = clamp(x[0], y[0], z[0]); 27645 result[1] = clamp(x[1], y[1], z[1]); 27646 result[2] = clamp(x[2], y[2], z[2]); 27647 return result; 27648 } 27649 float4 clamp(float4 x, float4 y, float4 z) { 27650 float4 result; 27651 result[0] = clamp(x[0], y[0], z[0]); 27652 result[1] = clamp(x[1], y[1], z[1]); 27653 result[2] = clamp(x[2], y[2], z[2]); 27654 result[3] = clamp(x[3], y[3], z[3]); 27655 return result; 27656 } 27657 float2x2 clamp(float2x2 x, float2x2 y, float2x2 z) { 27658 float2x2 result; 27659 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27660 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27661 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27662 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27663 return result; 27664 } 27665 float2x3 clamp(float2x3 x, float2x3 y, float2x3 z) { 27666 float2x3 result; 27667 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27668 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27669 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27670 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27671 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27672 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27673 return result; 27674 } 27675 float2x4 clamp(float2x4 x, float2x4 y, float2x4 z) { 27676 float2x4 result; 27677 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27678 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27679 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27680 result[0][3] = clamp(x[0][3], y[0][3], z[0][3]); 27681 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27682 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27683 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27684 result[1][3] = clamp(x[1][3], y[1][3], z[1][3]); 27685 return result; 27686 } 27687 float3x2 clamp(float3x2 x, float3x2 y, float3x2 z) { 27688 float3x2 result; 27689 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27690 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27691 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27692 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27693 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27694 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27695 return result; 27696 } 27697 float3x3 clamp(float3x3 x, float3x3 y, float3x3 z) { 27698 float3x3 result; 27699 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27700 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27701 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27702 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27703 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27704 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27705 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27706 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27707 result[2][2] = clamp(x[2][2], y[2][2], z[2][2]); 27708 return result; 27709 } 27710 float3x4 clamp(float3x4 x, float3x4 y, float3x4 z) { 27711 float3x4 result; 27712 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27713 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27714 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27715 result[0][3] = clamp(x[0][3], y[0][3], z[0][3]); 27716 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27717 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27718 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27719 result[1][3] = clamp(x[1][3], y[1][3], z[1][3]); 27720 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27721 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27722 result[2][2] = clamp(x[2][2], y[2][2], z[2][2]); 27723 result[2][3] = clamp(x[2][3], y[2][3], z[2][3]); 27724 return result; 27725 } 27726 float4x2 clamp(float4x2 x, float4x2 y, float4x2 z) { 27727 float4x2 result; 27728 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27729 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27730 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27731 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27732 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27733 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27734 result[3][0] = clamp(x[3][0], y[3][0], z[3][0]); 27735 result[3][1] = clamp(x[3][1], y[3][1], z[3][1]); 27736 return result; 27737 } 27738 float4x3 clamp(float4x3 x, float4x3 y, float4x3 z) { 27739 float4x3 result; 27740 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27741 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27742 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27743 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27744 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27745 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27746 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27747 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27748 result[2][2] = clamp(x[2][2], y[2][2], z[2][2]); 27749 result[3][0] = clamp(x[3][0], y[3][0], z[3][0]); 27750 result[3][1] = clamp(x[3][1], y[3][1], z[3][1]); 27751 result[3][2] = clamp(x[3][2], y[3][2], z[3][2]); 27752 return result; 27753 } 27754 float4x4 clamp(float4x4 x, float4x4 y, float4x4 z) { 27755 float4x4 result; 27756 result[0][0] = clamp(x[0][0], y[0][0], z[0][0]); 27757 result[0][1] = clamp(x[0][1], y[0][1], z[0][1]); 27758 result[0][2] = clamp(x[0][2], y[0][2], z[0][2]); 27759 result[0][3] = clamp(x[0][3], y[0][3], z[0][3]); 27760 result[1][0] = clamp(x[1][0], y[1][0], z[1][0]); 27761 result[1][1] = clamp(x[1][1], y[1][1], z[1][1]); 27762 result[1][2] = clamp(x[1][2], y[1][2], z[1][2]); 27763 result[1][3] = clamp(x[1][3], y[1][3], z[1][3]); 27764 result[2][0] = clamp(x[2][0], y[2][0], z[2][0]); 27765 result[2][1] = clamp(x[2][1], y[2][1], z[2][1]); 27766 result[2][2] = clamp(x[2][2], y[2][2], z[2][2]); 27767 result[2][3] = clamp(x[2][3], y[2][3], z[2][3]); 27768 result[3][0] = clamp(x[3][0], y[3][0], z[3][0]); 27769 result[3][1] = clamp(x[3][1], y[3][1], z[3][1]); 27770 result[3][2] = clamp(x[3][2], y[3][2], z[3][2]); 27771 result[3][3] = clamp(x[3][3], y[3][3], z[3][3]); 27772 return result; 27773 } 27774 26476 native uint clamp(uint, uint, uint); 26477 native uint2 clamp(uint2, uint2, uint2); 26478 native uint3 clamp(uint3, uint3, uint3); 26479 native uint4 clamp(uint4, uint4, uint4); 26480 native int clamp(int, int, int); 26481 native int2 clamp(int2, int2, int2); 26482 native int3 clamp(int3, int3, int3); 26483 native int4 clamp(int4, int4, int4); 26484 native float clamp(float, float, float); 26485 native float2 clamp(float2, float2, float2); 26486 native float3 clamp(float3, float3, float3); 26487 native float4 clamp(float4, float4, float4); 26488 native float2x2 clamp(float2x2, float2x2, float2x2); 26489 native float2x3 clamp(float2x3, float2x3, float2x3); 26490 native float2x4 clamp(float2x4, float2x4, float2x4); 26491 native float3x2 clamp(float3x2, float3x2, float3x2); 26492 native float3x3 clamp(float3x3, float3x3, float3x3); 26493 native float3x4 clamp(float3x4, float3x4, float3x4); 26494 native float4x2 clamp(float4x2, float4x2, float4x2); 26495 native float4x3 clamp(float4x3, float4x3, float4x3); 26496 native float4x4 clamp(float4x4, float4x4, float4x4); 27775 26497 27776 26498 /* Functions named operator.wxxy */ … … 34193 32915 native uint operator+(uint, uint); 34194 32916 native float operator+(float, float); 34195 uint2 operator+(uint2 a, uint2 b) { 34196 uint2 result; 34197 result[0] = a[0] + b[0]; 34198 result[1] = a[1] + b[1]; 34199 return result; 34200 } 34201 uint3 operator+(uint3 a, uint3 b) { 34202 uint3 result; 34203 result[0] = a[0] + b[0]; 34204 result[1] = a[1] + b[1]; 34205 result[2] = a[2] + b[2]; 34206 return result; 34207 } 34208 uint4 operator+(uint4 a, uint4 b) { 34209 uint4 result; 34210 result[0] = a[0] + b[0]; 34211 result[1] = a[1] + b[1]; 34212 result[2] = a[2] + b[2]; 34213 result[3] = a[3] + b[3]; 34214 return result; 34215 } 34216 int2 operator+(int2 a, int2 b) { 34217 int2 result; 34218 result[0] = a[0] + b[0]; 34219 result[1] = a[1] + b[1]; 34220 return result; 34221 } 34222 int3 operator+(int3 a, int3 b) { 34223 int3 result; 34224 result[0] = a[0] + b[0]; 34225 result[1] = a[1] + b[1]; 34226 result[2] = a[2] + b[2]; 34227 return result; 34228 } 34229 int4 operator+(int4 a, int4 b) { 34230 int4 result; 34231 result[0] = a[0] + b[0]; 34232 result[1] = a[1] + b[1]; 34233 result[2] = a[2] + b[2]; 34234 result[3] = a[3] + b[3]; 34235 return result; 34236 } 34237 float2 operator+(float2 a, float2 b) { 34238 float2 result; 34239 result[0] = a[0] + b[0]; 34240 result[1] = a[1] + b[1]; 34241 return result; 34242 } 34243 float3 operator+(float3 a, float3 b) { 34244 float3 result; 34245 result[0] = a[0] + b[0]; 34246 result[1] = a[1] + b[1]; 34247 result[2] = a[2] + b[2]; 34248 return result; 34249 } 34250 float4 operator+(float4 a, float4 b) { 34251 float4 result; 34252 result[0] = a[0] + b[0]; 34253 result[1] = a[1] + b[1]; 34254 result[2] = a[2] + b[2]; 34255 result[3] = a[3] + b[3]; 34256 return result; 34257 } 34258 float2x2 operator+(float2x2 a, float2x2 b) { 34259 float2x2 result; 34260 result[0][0] = a[0][0] + b[0][0]; 34261 result[0][1] = a[0][1] + b[0][1]; 34262 result[1][0] = a[1][0] + b[1][0]; 34263 result[1][1] = a[1][1] + b[1][1]; 34264 return result; 34265 } 34266 float2x3 operator+(float2x3 a, float2x3 b) { 34267 float2x3 result; 34268 result[0][0] = a[0][0] + b[0][0]; 34269 result[0][1] = a[0][1] + b[0][1]; 34270 result[0][2] = a[0][2] + b[0][2]; 34271 result[1][0] = a[1][0] + b[1][0]; 34272 result[1][1] = a[1][1] + b[1][1]; 34273 result[1][2] = a[1][2] + b[1][2]; 34274 return result; 34275 } 34276 float2x4 operator+(float2x4 a, float2x4 b) { 34277 float2x4 result; 34278 result[0][0] = a[0][0] + b[0][0]; 34279 result[0][1] = a[0][1] + b[0][1]; 34280 result[0][2] = a[0][2] + b[0][2]; 34281 result[0][3] = a[0][3] + b[0][3]; 34282 result[1][0] = a[1][0] + b[1][0]; 34283 result[1][1] = a[1][1] + b[1][1]; 34284 result[1][2] = a[1][2] + b[1][2]; 34285 result[1][3] = a[1][3] + b[1][3]; 34286 return result; 34287 } 34288 float3x2 operator+(float3x2 a, float3x2 b) { 34289 float3x2 result; 34290 result[0][0] = a[0][0] + b[0][0]; 34291 result[0][1] = a[0][1] + b[0][1]; 34292 result[1][0] = a[1][0] + b[1][0]; 34293 result[1][1] = a[1][1] + b[1][1]; 34294 result[2][0] = a[2][0] + b[2][0]; 34295 result[2][1] = a[2][1] + b[2][1]; 34296 return result; 34297 } 34298 float3x3 operator+(float3x3 a, float3x3 b) { 34299 float3x3 result; 34300 result[0][0] = a[0][0] + b[0][0]; 34301 result[0][1] = a[0][1] + b[0][1]; 34302 result[0][2] = a[0][2] + b[0][2]; 34303 result[1][0] = a[1][0] + b[1][0]; 34304 result[1][1] = a[1][1] + b[1][1]; 34305 result[1][2] = a[1][2] + b[1][2]; 34306 result[2][0] = a[2][0] + b[2][0]; 34307 result[2][1] = a[2][1] + b[2][1]; 34308 result[2][2] = a[2][2] + b[2][2]; 34309 return result; 34310 } 34311 float3x4 operator+(float3x4 a, float3x4 b) { 34312 float3x4 result; 34313 result[0][0] = a[0][0] + b[0][0]; 34314 result[0][1] = a[0][1] + b[0][1]; 34315 result[0][2] = a[0][2] + b[0][2]; 34316 result[0][3] = a[0][3] + b[0][3]; 34317 result[1][0] = a[1][0] + b[1][0]; 34318 result[1][1] = a[1][1] + b[1][1]; 34319 result[1][2] = a[1][2] + b[1][2]; 34320 result[1][3] = a[1][3] + b[1][3]; 34321 result[2][0] = a[2][0] + b[2][0]; 34322 result[2][1] = a[2][1] + b[2][1]; 34323 result[2][2] = a[2][2] + b[2][2]; 34324 result[2][3] = a[2][3] + b[2][3]; 34325 return result; 34326 } 34327 float4x2 operator+(float4x2 a, float4x2 b) { 34328 float4x2 result; 34329 result[0][0] = a[0][0] + b[0][0]; 34330 result[0][1] = a[0][1] + b[0][1]; 34331 result[1][0] = a[1][0] + b[1][0]; 34332 result[1][1] = a[1][1] + b[1][1]; 34333 result[2][0] = a[2][0] + b[2][0]; 34334 result[2][1] = a[2][1] + b[2][1]; 34335 result[3][0] = a[3][0] + b[3][0]; 34336 result[3][1] = a[3][1] + b[3][1]; 34337 return result; 34338 } 34339 float4x3 operator+(float4x3 a, float4x3 b) { 34340 float4x3 result; 34341 result[0][0] = a[0][0] + b[0][0]; 34342 result[0][1] = a[0][1] + b[0][1]; 34343 result[0][2] = a[0][2] + b[0][2]; 34344 result[1][0] = a[1][0] + b[1][0]; 34345 result[1][1] = a[1][1] + b[1][1]; 34346 result[1][2] = a[1][2] + b[1][2]; 34347 result[2][0] = a[2][0] + b[2][0]; 34348 result[2][1] = a[2][1] + b[2][1]; 34349 result[2][2] = a[2][2] + b[2][2]; 34350 result[3][0] = a[3][0] + b[3][0]; 34351 result[3][1] = a[3][1] + b[3][1]; 34352 result[3][2] = a[3][2] + b[3][2]; 34353 return result; 34354 } 34355 float4x4 operator+(float4x4 a, float4x4 b) { 34356 float4x4 result; 34357 result[0][0] = a[0][0] + b[0][0]; 34358 result[0][1] = a[0][1] + b[0][1]; 34359 result[0][2] = a[0][2] + b[0][2]; 34360 result[0][3] = a[0][3] + b[0][3]; 34361 result[1][0] = a[1][0] + b[1][0]; 34362 result[1][1] = a[1][1] + b[1][1]; 34363 result[1][2] = a[1][2] + b[1][2]; 34364 result[1][3] = a[1][3] + b[1][3]; 34365 result[2][0] = a[2][0] + b[2][0]; 34366 result[2][1] = a[2][1] + b[2][1]; 34367 result[2][2] = a[2][2] + b[2][2]; 34368 result[2][3] = a[2][3] + b[2][3]; 34369 result[3][0] = a[3][0] + b[3][0]; 34370 result[3][1] = a[3][1] + b[3][1]; 34371 result[3][2] = a[3][2] + b[3][2]; 34372 result[3][3] = a[3][3] + b[3][3]; 34373 return result; 34374 } 32917 native uint2 operator+(uint2, uint2); 32918 native uint2 operator+(uint, uint2); 32919 native uint2 operator+(uint2, uint); 32920 native uint3 operator+(uint3, uint3); 32921 native uint3 operator+(uint, uint3); 32922 native uint3 operator+(uint3, uint); 32923 native uint4 operator+(uint4, uint4); 32924 native uint4 operator+(uint, uint4); 32925 native uint4 operator+(uint4, uint); 32926 native int2 operator+(int2, int2); 32927 native int2 operator+(int, int2); 32928 native int2 operator+(int2, int); 32929 native int3 operator+(int3, int3); 32930 native int3 operator+(int, int3); 32931 native int3 operator+(int3, int); 32932 native int4 operator+(int4, int4); 32933 native int4 operator+(int, int4); 32934 native int4 operator+(int4, int); 32935 native float2 operator+(float2, float2); 32936 native float2 operator+(float, float2); 32937 native float2 operator+(float2, float); 32938 native float3 operator+(float3, float3); 32939 native float3 operator+(float, float3); 32940 native float3 operator+(float3, float); 32941 native float4 operator+(float4, float4); 32942 native float4 operator+(float, float4); 32943 native float4 operator+(float4, float); 32944 native float2x2 operator+(float2x2, float2x2); 32945 native float2x2 operator+(float, float2x2); 32946 native float2x2 operator+(float2x2, float); 32947 native float2x3 operator+(float2x3, float2x3); 32948 native float2x3 operator+(float, float2x3); 32949 native float2x3 operator+(float2x3, float); 32950 native float2x4 operator+(float2x4, float2x4); 32951 native float2x4 operator+(float, float2x4); 32952 native float2x4 operator+(float2x4, float); 32953 native float3x2 operator+(float3x2, float3x2); 32954 native float3x2 operator+(float, float3x2); 32955 native float3x2 operator+(float3x2, float); 32956 native float3x3 operator+(float3x3, float3x3); 32957 native float3x3 operator+(float, float3x3); 32958 native float3x3 operator+(float3x3, float); 32959 native float3x4 operator+(float3x4, float3x4); 32960 native float3x4 operator+(float, float3x4); 32961 native float3x4 operator+(float3x4, float); 32962 native float4x2 operator+(float4x2, float4x2); 32963 native float4x2 operator+(float, float4x2); 32964 native float4x2 operator+(float4x2, float); 32965 native float4x3 operator+(float4x3, float4x3); 32966 native float4x3 operator+(float, float4x3); 32967 native float4x3 operator+(float4x3, float); 32968 native float4x4 operator+(float4x4, float4x4); 32969 native float4x4 operator+(float, float4x4); 32970 native float4x4 operator+(float4x4, float); 34375 32971 34376 32972 /* Functions named operator.zxx */ … … 35188 33784 native uint operator/(uint, uint); 35189 33785 native float operator/(float, float); 35190 uint2 operator/(uint2 a, uint2 b) { 35191 uint2 result; 35192 result[0] = a[0] / b[0]; 35193 result[1] = a[1] / b[1]; 35194 return result; 35195 } 35196 uint2 operator/(uint2 a, uint b) { 35197 uint2 result; 35198 result[0] = a[0] / b; 35199 result[1] = a[1] / b; 35200 return result; 35201 } 35202 uint2 operator/(uint a, uint2 b) { 35203 uint2 result; 35204 result[0] = a / b[0]; 35205 result[1] = a / b[1]; 35206 return result; 35207 } 35208 uint3 operator/(uint3 a, uint3 b) { 35209 uint3 result; 35210 result[0] = a[0] / b[0]; 35211 result[1] = a[1] / b[1]; 35212 result[2] = a[2] / b[2]; 35213 return result; 35214 } 35215 uint3 operator/(uint3 a, uint b) { 35216 uint3 result; 35217 result[0] = a[0] / b; 35218 result[1] = a[1] / b; 35219 result[2] = a[2] / b; 35220 return result; 35221 } 35222 uint3 operator/(uint a, uint3 b) { 35223 uint3 result; 35224 result[0] = a / b[0]; 35225 result[1] = a / b[1]; 35226 result[2] = a / b[2]; 35227 return result; 35228 } 35229 uint4 operator/(uint4 a, uint4 b) { 35230 uint4 result; 35231 result[0] = a[0] / b[0]; 35232 result[1] = a[1] / b[1]; 35233 result[2] = a[2] / b[2]; 35234 result[3] = a[3] / b[3]; 35235 return result; 35236 } 35237 uint4 operator/(uint4 a, uint b) { 35238 uint4 result; 35239 result[0] = a[0] / b; 35240 result[1] = a[1] / b; 35241 result[2] = a[2] / b; 35242 result[3] = a[3] / b; 35243 return result; 35244 } 35245 uint4 operator/(uint a, uint4 b) { 35246 uint4 result; 35247 result[0] = a / b[0]; 35248 result[1] = a / b[1]; 35249 result[2] = a / b[2]; 35250 result[3] = a / b[3]; 35251 return result; 35252 } 35253 int2 operator/(int2 a, int2 b) { 35254 int2 result; 35255 result[0] = a[0] / b[0]; 35256 result[1] = a[1] / b[1]; 35257 return result; 35258 } 35259 int2 operator/(int2 a, int b) { 35260 int2 result; 35261 result[0] = a[0] / b; 35262 result[1] = a[1] / b; 35263 return result; 35264 } 35265 int2 operator/(int a, int2 b) { 35266 int2 result; 35267 result[0] = a / b[0]; 35268 result[1] = a / b[1]; 35269 return result; 35270 } 35271 int3 operator/(int3 a, int3 b) { 35272 int3 result; 35273 result[0] = a[0] / b[0]; 35274 result[1] = a[1] / b[1]; 35275 result[2] = a[2] / b[2]; 35276 return result; 35277 } 35278 int3 operator/(int3 a, int b) { 35279 int3 result; 35280 result[0] = a[0] / b; 35281 result[1] = a[1] / b; 35282 result[2] = a[2] / b; 35283 return result; 35284 } 35285 int3 operator/(int a, int3 b) { 35286 int3 result; 35287 result[0] = a / b[0]; 35288 result[1] = a / b[1]; 35289 result[2] = a / b[2]; 35290 return result; 35291 } 35292 int4 operator/(int4 a, int4 b) { 35293 int4 result; 35294 result[0] = a[0] / b[0]; 35295 result[1] = a[1] / b[1]; 35296 result[2] = a[2] / b[2]; 35297 result[3] = a[3] / b[3]; 35298 return result; 35299 } 35300 int4 operator/(int4 a, int b) { 35301 int4 result; 35302 result[0] = a[0] / b; 35303 result[1] = a[1] / b; 35304 result[2] = a[2] / b; 35305 result[3] = a[3] / b; 35306 return result; 35307 } 35308 int4 operator/(int a, int4 b) { 35309 int4 result; 35310 result[0] = a / b[0]; 35311 result[1] = a / b[1]; 35312 result[2] = a / b[2]; 35313 result[3] = a / b[3]; 35314 return result; 35315 } 35316 float2 operator/(float2 a, float2 b) { 35317 float2 result; 35318 result[0] = a[0] / b[0]; 35319 result[1] = a[1] / b[1]; 35320 return result; 35321 } 35322 float2 operator/(float2 a, float b) { 35323 float2 result; 35324 result[0] = a[0] / b; 35325 result[1] = a[1] / b; 35326 return result; 35327 } 35328 float2 operator/(float a, float2 b) { 35329 float2 result; 35330 result[0] = a / b[0]; 35331 result[1] = a / b[1]; 35332 return result; 35333 } 35334 float3 operator/(float3 a, float3 b) { 35335 float3 result; 35336 result[0] = a[0] / b[0]; 35337 result[1] = a[1] / b[1]; 35338 result[2] = a[2] / b[2]; 35339 return result; 35340 } 35341 float3 operator/(float3 a, float b) { 35342 float3 result; 35343 result[0] = a[0] / b; 35344 result[1] = a[1] / b; 35345 result[2] = a[2] / b; 35346 return result; 35347 } 35348 float3 operator/(float a, float3 b) { 35349 float3 result; 35350 result[0] = a / b[0]; 35351 result[1] = a / b[1]; 35352 result[2] = a / b[2]; 35353 return result; 35354 } 35355 float4 operator/(float4 a, float4 b) { 35356 float4 result; 35357 result[0] = a[0] / b[0]; 35358 result[1] = a[1] / b[1]; 35359 result[2] = a[2] / b[2]; 35360 result[3] = a[3] / b[3]; 35361 return result; 35362 } 35363 float4 operator/(float4 a, float b) { 35364 float4 result; 35365 result[0] = a[0] / b; 35366 result[1] = a[1] / b; 35367 result[2] = a[2] / b; 35368 result[3] = a[3] / b; 35369 return result; 35370 } 35371 float4 operator/(float a, float4 b) { 35372 float4 result; 35373 result[0] = a / b[0]; 35374 result[1] = a / b[1]; 35375 result[2] = a / b[2]; 35376 result[3] = a / b[3]; 35377 return result; 35378 } 35379 float2x2 operator/(float2x2 a, float2x2 b) { 35380 float2x2 result; 35381 result[0][0] = a[0][0] / b[0][0]; 35382 result[0][1] = a[0][1] / b[0][1]; 35383 result[1][0] = a[1][0] / b[1][0]; 35384 result[1][1] = a[1][1] / b[1][1]; 35385 return result; 35386 } 35387 float2x2 operator/(float2x2 a, float b) { 35388 float2x2 result; 35389 result[0][0] = a[0][0] / b; 35390 result[0][1] = a[0][1] / b; 35391 result[1][0] = a[1][0] / b; 35392 result[1][1] = a[1][1] / b; 35393 return result; 35394 } 35395 float2x2 operator/(float a, float2x2 b) { 35396 float2x2 result; 35397 result[0][0] = a / b[0][0]; 35398 result[0][1] = a / b[0][1]; 35399 result[1][0] = a / b[1][0]; 35400 result[1][1] = a / b[1][1]; 35401 return result; 35402 } 35403 float2x3 operator/(float2x3 a, float2x3 b) { 35404 float2x3 result; 35405 result[0][0] = a[0][0] / b[0][0]; 35406 result[0][1] = a[0][1] / b[0][1]; 35407 result[0][2] = a[0][2] / b[0][2]; 35408 result[1][0] = a[1][0] / b[1][0]; 35409 result[1][1] = a[1][1] / b[1][1]; 35410 result[1][2] = a[1][2] / b[1][2]; 35411 return result; 35412 } 35413 float2x3 operator/(float2x3 a, float b) { 35414 float2x3 result; 35415 result[0][0] = a[0][0] / b; 35416 result[0][1] = a[0][1] / b; 35417 result[0][2] = a[0][2] / b; 35418 result[1][0] = a[1][0] / b; 35419 result[1][1] = a[1][1] / b; 35420 result[1][2] = a[1][2] / b; 35421 return result; 35422 } 35423 float2x3 operator/(float a, float2x3 b) { 35424 float2x3 result; 35425 result[0][0] = a / b[0][0]; 35426 result[0][1] = a / b[0][1]; 35427 result[0][2] = a / b[0][2]; 35428 result[1][0] = a / b[1][0]; 35429 result[1][1] = a / b[1][1]; 35430 result[1][2] = a / b[1][2]; 35431 return result; 35432 } 35433 float2x4 operator/(float2x4 a, float2x4 b) { 35434 float2x4 result; 35435 result[0][0] = a[0][0] / b[0][0]; 35436 result[0][1] = a[0][1] / b[0][1]; 35437 result[0][2] = a[0][2] / b[0][2]; 35438 result[0][3] = a[0][3] / b[0][3]; 35439 result[1][0] = a[1][0] / b[1][0]; 35440 result[1][1] = a[1][1] / b[1][1]; 35441 result[1][2] = a[1][2] / b[1][2]; 35442 result[1][3] = a[1][3] / b[1][3]; 35443 return result; 35444 } 35445 float2x4 operator/(float2x4 a, float b) { 35446 float2x4 result; 35447 result[0][0] = a[0][0] / b; 35448 result[0][1] = a[0][1] / b; 35449 result[0][2] = a[0][2] / b; 35450 result[0][3] = a[0][3] / b; 35451 result[1][0] = a[1][0] / b; 35452 result[1][1] = a[1][1] / b; 35453 result[1][2] = a[1][2] / b; 35454 result[1][3] = a[1][3] / b; 35455 return result; 35456 } 35457 float2x4 operator/(float a, float2x4 b) { 35458 float2x4 result; 35459 result[0][0] = a / b[0][0]; 35460 result[0][1] = a / b[0][1]; 35461 result[0][2] = a / b[0][2]; 35462 result[0][3] = a / b[0][3]; 35463 result[1][0] = a / b[1][0]; 35464 result[1][1] = a / b[1][1]; 35465 result[1][2] = a / b[1][2]; 35466 result[1][3] = a / b[1][3]; 35467 return result; 35468 } 35469 float3x2 operator/(float3x2 a, float3x2 b) { 35470 float3x2 result; 35471 result[0][0] = a[0][0] / b[0][0]; 35472 result[0][1] = a[0][1] / b[0][1]; 35473 result[1][0] = a[1][0] / b[1][0]; 35474 result[1][1] = a[1][1] / b[1][1]; 35475 result[2][0] = a[2][0] / b[2][0]; 35476 result[2][1] = a[2][1] / b[2][1]; 35477 return result; 35478 } 35479 float3x2 operator/(float3x2 a, float b) { 35480 float3x2 result; 35481 result[0][0] = a[0][0] / b; 35482 result[0][1] = a[0][1] / b; 35483 result[1][0] = a[1][0] / b; 35484 result[1][1] = a[1][1] / b; 35485 result[2][0] = a[2][0] / b; 35486 result[2][1] = a[2][1] / b; 35487 return result; 35488 } 35489 float3x2 operator/(float a, float3x2 b) { 35490 float3x2 result; 35491 result[0][0] = a / b[0][0]; 35492 result[0][1] = a / b[0][1]; 35493 result[1][0] = a / b[1][0]; 35494 result[1][1] = a / b[1][1]; 35495 result[2][0] = a / b[2][0]; 35496 result[2][1] = a / b[2][1]; 35497 return result; 35498 } 35499 float3x3 operator/(float3x3 a, float3x3 b) { 35500 float3x3 result; 35501 result[0][0] = a[0][0] / b[0][0]; 35502 result[0][1] = a[0][1] / b[0][1]; 35503 result[0][2] = a[0][2] / b[0][2]; 35504 result[1][0] = a[1][0] / b[1][0]; 35505 result[1][1] = a[1][1] / b[1][1]; 35506 result[1][2] = a[1][2] / b[1][2]; 35507 result[2][0] = a[2][0] / b[2][0]; 35508 result[2][1] = a[2][1] / b[2][1]; 35509 result[2][2] = a[2][2] / b[2][2]; 35510 return result; 35511 } 35512 float3x3 operator/(float3x3 a, float b) { 35513 float3x3 result; 35514 result[0][0] = a[0][0] / b; 35515 result[0][1] = a[0][1] / b; 35516 result[0][2] = a[0][2] / b; 35517 result[1][0] = a[1][0] / b; 35518 result[1][1] = a[1][1] / b; 35519 result[1][2] = a[1][2] / b; 35520 result[2][0] = a[2][0] / b; 35521 result[2][1] = a[2][1] / b; 35522 result[2][2] = a[2][2] / b; 35523 return result; 35524 } 35525 float3x3 operator/(float a, float3x3 b) { 35526 float3x3 result; 35527 result[0][0] = a / b[0][0]; 35528 result[0][1] = a / b[0][1]; 35529 result[0][2] = a / b[0][2]; 35530 result[1][0] = a / b[1][0]; 35531 result[1][1] = a / b[1][1]; 35532 result[1][2] = a / b[1][2]; 35533 result[2][0] = a / b[2][0]; 35534 result[2][1] = a / b[2][1]; 35535 result[2][2] = a / b[2][2]; 35536 return result; 35537 } 35538 float3x4 operator/(float3x4 a, float3x4 b) { 35539 float3x4 result; 35540 result[0][0] = a[0][0] / b[0][0]; 35541 result[0][1] = a[0][1] / b[0][1]; 35542 result[0][2] = a[0][2] / b[0][2]; 35543 result[0][3] = a[0][3] / b[0][3]; 35544 result[1][0] = a[1][0] / b[1][0]; 35545 result[1][1] = a[1][1] / b[1][1]; 35546 result[1][2] = a[1][2] / b[1][2]; 35547 result[1][3] = a[1][3] / b[1][3]; 35548 result[2][0] = a[2][0] / b[2][0]; 35549 result[2][1] = a[2][1] / b[2][1]; 35550 result[2][2] = a[2][2] / b[2][2]; 35551 result[2][3] = a[2][3] / b[2][3]; 35552 return result; 35553 } 35554 float3x4 operator/(float3x4 a, float b) { 35555 float3x4 result; 35556 result[0][0] = a[0][0] / b; 35557 result[0][1] = a[0][1] / b; 35558 result[0][2] = a[0][2] / b; 35559 result[0][3] = a[0][3] / b; 35560 result[1][0] = a[1][0] / b; 35561 result[1][1] = a[1][1] / b; 35562 result[1][2] = a[1][2] / b; 35563 result[1][3] = a[1][3] / b; 35564 result[2][0] = a[2][0] / b; 35565 result[2][1] = a[2][1] / b; 35566 result[2][2] = a[2][2] / b; 35567 result[2][3] = a[2][3] / b; 35568 return result; 35569 } 35570 float3x4 operator/(float a, float3x4 b) { 35571 float3x4 result; 35572 result[0][0] = a / b[0][0]; 35573 result[0][1] = a / b[0][1]; 35574 result[0][2] = a / b[0][2]; 35575 result[0][3] = a / b[0][3]; 35576 result[1][0] = a / b[1][0]; 35577 result[1][1] = a / b[1][1]; 35578 result[1][2] = a / b[1][2]; 35579 result[1][3] = a / b[1][3]; 35580 result[2][0] = a / b[2][0]; 35581 result[2][1] = a / b[2][1]; 35582 result[2][2] = a / b[2][2]; 35583 result[2][3] = a / b[2][3]; 35584 return result; 35585 } 35586 float4x2 operator/(float4x2 a, float4x2 b) { 35587 float4x2 result; 35588 result[0][0] = a[0][0] / b[0][0]; 35589 result[0][1] = a[0][1] / b[0][1]; 35590 result[1][0] = a[1][0] / b[1][0]; 35591 result[1][1] = a[1][1] / b[1][1]; 35592 result[2][0] = a[2][0] / b[2][0]; 35593 result[2][1] = a[2][1] / b[2][1]; 35594 result[3][0] = a[3][0] / b[3][0]; 35595 result[3][1] = a[3][1] / b[3][1]; 35596 return result; 35597 } 35598 float4x2 operator/(float4x2 a, float b) { 35599 float4x2 result; 35600 result[0][0] = a[0][0] / b; 35601 result[0][1] = a[0][1] / b; 35602 result[1][0] = a[1][0] / b; 35603 result[1][1] = a[1][1] / b; 35604 result[2][0] = a[2][0] / b; 35605 result[2][1] = a[2][1] / b; 35606 result[3][0] = a[3][0] / b; 35607 result[3][1] = a[3][1] / b; 35608 return result; 35609 } 35610 float4x2 operator/(float a, float4x2 b) { 35611 float4x2 result; 35612 result[0][0] = a / b[0][0]; 35613 result[0][1] = a / b[0][1]; 35614 result[1][0] = a / b[1][0]; 35615 result[1][1] = a / b[1][1]; 35616 result[2][0] = a / b[2][0]; 35617 result[2][1] = a / b[2][1]; 35618 result[3][0] = a / b[3][0]; 35619 result[3][1] = a / b[3][1]; 35620 return result; 35621 } 35622 float4x3 operator/(float4x3 a, float4x3 b) { 35623 float4x3 result; 35624 result[0][0] = a[0][0] / b[0][0]; 35625 result[0][1] = a[0][1] / b[0][1]; 35626 result[0][2] = a[0][2] / b[0][2]; 35627 result[1][0] = a[1][0] / b[1][0]; 35628 result[1][1] = a[1][1] / b[1][1]; 35629 result[1][2] = a[1][2] / b[1][2]; 35630 result[2][0] = a[2][0] / b[2][0]; 35631 result[2][1] = a[2][1] / b[2][1]; 35632 result[2][2] = a[2][2] / b[2][2]; 35633 result[3][0] = a[3][0] / b[3][0]; 35634 result[3][1] = a[3][1] / b[3][1]; 35635 result[3][2] = a[3][2] / b[3][2]; 35636 return result; 35637 } 35638 float4x3 operator/(float4x3 a, float b) { 35639 float4x3 result; 35640 result[0][0] = a[0][0] / b; 35641 result[0][1] = a[0][1] / b; 35642 result[0][2] = a[0][2] / b; 35643 result[1][0] = a[1][0] / b; 35644 result[1][1] = a[1][1] / b; 35645 result[1][2] = a[1][2] / b; 35646 result[2][0] = a[2][0] / b; 35647 result[2][1] = a[2][1] / b; 35648 result[2][2] = a[2][2] / b; 35649 result[3][0] = a[3][0] / b; 35650 result[3][1] = a[3][1] / b; 35651 result[3][2] = a[3][2] / b; 35652 return result; 35653 } 35654 float4x3 operator/(float a, float4x3 b) { 35655 float4x3 result; 35656 result[0][0] = a / b[0][0]; 35657 result[0][1] = a / b[0][1]; 35658 result[0][2] = a / b[0][2]; 35659 result[1][0] = a / b[1][0]; 35660 result[1][1] = a / b[1][1]; 35661 result[1][2] = a / b[1][2]; 35662 result[2][0] = a / b[2][0]; 35663 result[2][1] = a / b[2][1]; 35664 result[2][2] = a / b[2][2]; 35665 result[3][0] = a / b[3][0]; 35666 result[3][1] = a / b[3][1]; 35667 result[3][2] = a / b[3][2]; 35668 return result; 35669 } 35670 float4x4 operator/(float4x4 a, float4x4 b) { 35671 float4x4 result; 35672 result[0][0] = a[0][0] / b[0][0]; 35673 result[0][1] = a[0][1] / b[0][1]; 35674 result[0][2] = a[0][2] / b[0][2]; 35675 result[0][3] = a[0][3] / b[0][3]; 35676 result[1][0] = a[1][0] / b[1][0]; 35677 result[1][1] = a[1][1] / b[1][1]; 35678 result[1][2] = a[1][2] / b[1][2]; 35679 result[1][3] = a[1][3] / b[1][3]; 35680 result[2][0] = a[2][0] / b[2][0]; 35681 result[2][1] = a[2][1] / b[2][1]; 35682 result[2][2] = a[2][2] / b[2][2]; 35683 result[2][3] = a[2][3] / b[2][3]; 35684 result[3][0] = a[3][0] / b[3][0]; 35685 result[3][1] = a[3][1] / b[3][1]; 35686 result[3][2] = a[3][2] / b[3][2]; 35687 result[3][3] = a[3][3] / b[3][3]; 35688 return result; 35689 } 35690 float4x4 operator/(float4x4 a, float b) { 35691 float4x4 result; 35692 result[0][0] = a[0][0] / b; 35693 result[0][1] = a[0][1] / b; 35694 result[0][2] = a[0][2] / b; 35695 result[0][3] = a[0][3] / b; 35696 result[1][0] = a[1][0] / b; 35697 result[1][1] = a[1][1] / b; 35698 result[1][2] = a[1][2] / b; 35699 result[1][3] = a[1][3] / b; 35700 result[2][0] = a[2][0] / b; 35701 result[2][1] = a[2][1] / b; 35702 result[2][2] = a[2][2] / b; 35703 result[2][3] = a[2][3] / b; 35704 result[3][0] = a[3][0] / b; 35705 result[3][1] = a[3][1] / b; 35706 result[3][2] = a[3][2] / b; 35707 result[3][3] = a[3][3] / b; 35708 return result; 35709 } 35710 float4x4 operator/(float a, float4x4 b) { 35711 float4x4 result; 35712 result[0][0] = a / b[0][0]; 35713 result[0][1] = a / b[0][1]; 35714 result[0][2] = a / b[0][2]; 35715 result[0][3] = a / b[0][3]; 35716 result[1][0] = a / b[1][0]; 35717 result[1][1] = a / b[1][1]; 35718 result[1][2] = a / b[1][2]; 35719 result[1][3] = a / b[1][3]; 35720 result[2][0] = a / b[2][0]; 35721 result[2][1] = a / b[2][1]; 35722 result[2][2] = a / b[2][2]; 35723 result[2][3] = a / b[2][3]; 35724 result[3][0] = a / b[3][0]; 35725 result[3][1] = a / b[3][1]; 35726 result[3][2] = a / b[3][2]; 35727 result[3][3] = a / b[3][3]; 35728 return result; 35729 } 33786 native uint2 operator/(uint2, uint2); 33787 native uint2 operator/(uint2, uint); 33788 native uint2 operator/(uint, uint2); 33789 native uint3 operator/(uint3, uint3); 33790 native uint3 operator/(uint3, uint); 33791 native uint3 operator/(uint, uint3); 33792 native uint4 operator/(uint4, uint4); 33793 native uint4 operator/(uint4, uint); 33794 native uint4 operator/(uint, uint4); 33795 native int2 operator/(int2, int2); 33796 native int2 operator/(int2, int); 33797 native int2 operator/(int, int2); 33798 native int3 operator/(int3, int3); 33799 native int3 operator/(int3, int); 33800 native int3 operator/(int, int3); 33801 native int4 operator/(int4, int4); 33802 native int4 operator/(int4, int); 33803 native int4 operator/(int, int4); 33804 native float2 operator/(float2, float2); 33805 native float2 operator/(float2, float); 33806 native float2 operator/(float, float2); 33807 native float3 operator/(float3, float3); 33808 native float3 operator/(float3, float); 33809 native float3 operator/(float, float3); 33810 native float4 operator/(float4, float4); 33811 native float4 operator/(float4, float); 33812 native float4 operator/(float, float4); 33813 native float2x2 operator/(float2x2, float2x2); 33814 native float2x2 operator/(float2x2, float); 33815 native float2x2 operator/(float, float2x2); 33816 native float2x3 operator/(float2x3, float2x3); 33817 native float2x3 operator/(float2x3, float); 33818 native float2x3 operator/(float, float2x3); 33819 native float2x4 operator/(float2x4, float2x4); 33820 native float2x4 operator/(float2x4, float); 33821 native float2x4 operator/(float, float2x4); 33822 native float3x2 operator/(float3x2, float3x2); 33823 native float3x2 operator/(float3x2, float); 33824 native float3x2 operator/(float, float3x2); 33825 native float3x3 operator/(float3x3, float3x3); 33826 native float3x3 operator/(float3x3, float); 33827 native float3x3 operator/(float, float3x3); 33828 native float3x4 operator/(float3x4, float3x4); 33829 native float3x4 operator/(float3x4, float); 33830 native float3x4 operator/(float, float3x4); 33831 native float4x2 operator/(float4x2, float4x2); 33832 native float4x2 operator/(float4x2, float); 33833 native float4x2 operator/(float, float4x2); 33834 native float4x3 operator/(float4x3, float4x3); 33835 native float4x3 operator/(float4x3, float); 33836 native float4x3 operator/(float, float4x3); 33837 native float4x4 operator/(float4x4, float4x4); 33838 native float4x4 operator/(float4x4, float); 33839 native float4x4 operator/(float, float4x4); 35730 33840 35731 33841 /* Functions named operator.xwzx */ … … 38605 36715 38606 36716 /* Functions named operator.xy= */ 38607 bool2 operator.xy=(bool2 v, bool2 c) { 38608 bool2 result = v; 38609 result.x = c.x; 38610 result.y = c.y; 38611 return result; 38612 } 38613 bool3 operator.xy=(bool3 v, bool2 c) { 38614 bool3 result = v; 38615 result.x = c.x; 38616 result.y = c.y; 38617 return result; 38618 } 38619 bool4 operator.xy=(bool4 v, bool2 c) { 38620 bool4 result = v; 38621 result.x = c.x; 38622 result.y = c.y; 38623 return result; 38624 } 38625 uint2 operator.xy=(uint2 v, uint2 c) { 38626 uint2 result = v; 38627 result.x = c.x; 38628 result.y = c.y; 38629 return result; 38630 } 38631 uint3 operator.xy=(uint3 v, uint2 c) { 38632 uint3 result = v; 38633 result.x = c.x; 38634 result.y = c.y; 38635 return result; 38636 } 38637 uint4 operator.xy=(uint4 v, uint2 c) { 38638 uint4 result = v; 38639 result.x = c.x; 38640 result.y = c.y; 38641 return result; 38642 } 38643 int2 operator.xy=(int2 v, int2 c) { 38644 int2 result = v; 38645 result.x = c.x; 38646 result.y = c.y; 38647 return result; 38648 } 38649 int3 operator.xy=(int3 v, int2 c) { 38650 int3 result = v; 38651 result.x = c.x; 38652 result.y = c.y; 38653 return result; 38654 } 38655 int4 operator.xy=(int4 v, int2 c) { 38656 int4 result = v; 38657 result.x = c.x; 38658 result.y = c.y; 38659 return result; 38660 } 38661 float2 operator.xy=(float2 v, float2 c) { 38662 float2 result = v; 38663 result.x = c.x; 38664 result.y = c.y; 38665 return result; 38666 } 38667 float3 operator.xy=(float3 v, float2 c) { 38668 float3 result = v; 38669 result.x = c.x; 38670 result.y = c.y; 38671 return result; 38672 } 38673 float4 operator.xy=(float4 v, float2 c) { 38674 float4 result = v; 38675 result.x = c.x; 38676 result.y = c.y; 38677 return result; 38678 } 36717 native bool2 operator.xy=(bool2, bool2); 36718 native bool3 operator.xy=(bool3, bool2); 36719 native bool4 operator.xy=(bool4, bool2); 36720 native uint2 operator.xy=(uint2, uint2); 36721 native uint3 operator.xy=(uint3, uint2); 36722 native uint4 operator.xy=(uint4, uint2); 36723 native int2 operator.xy=(int2, int2); 36724 native int3 operator.xy=(int3, int2); 36725 native int4 operator.xy=(int4, int2); 36726 native float2 operator.xy=(float2, float2); 36727 native float3 operator.xy=(float3, float2); 36728 native float4 operator.xy=(float4, float2); 38679 36729 38680 36730 /* Functions named operator.yxw */ … … 39519 37569 39520 37570 /* Functions named operator.xy */ 39521 bool2 operator.xy(bool2 v) { 39522 bool2 result; 39523 result.x = v.x; 39524 result.y = v.y; 39525 return result; 39526 } 39527 bool2 operator.xy(bool3 v) { 39528 bool2 result; 39529 result.x = v.x; 39530 result.y = v.y; 39531 return result; 39532 } 39533 bool2 operator.xy(bool4 v) { 39534 bool2 result; 39535 result.x = v.x; 39536 result.y = v.y; 39537 return result; 39538 } 39539 uint2 operator.xy(uint2 v) { 39540 uint2 result; 39541 result.x = v.x; 39542 result.y = v.y; 39543 return result; 39544 } 39545 uint2 operator.xy(uint3 v) { 39546 uint2 result; 39547 result.x = v.x; 39548 result.y = v.y; 39549 return result; 39550 } 39551 uint2 operator.xy(uint4 v) { 39552 uint2 result; 39553 result.x = v.x; 39554 result.y = v.y; 39555 return result; 39556 } 39557 int2 operator.xy(int2 v) { 39558 int2 result; 39559 result.x = v.x; 39560 result.y = v.y; 39561 return result; 39562 } 39563 int2 operator.xy(int3 v) { 39564 int2 result; 39565 result.x = v.x; 39566 result.y = v.y; 39567 return result; 39568 } 39569 int2 operator.xy(int4 v) { 39570 int2 result; 39571 result.x = v.x; 39572 result.y = v.y; 39573 return result; 39574 } 39575 float2 operator.xy(float2 v) { 39576 float2 result; 39577 result.x = v.x; 39578 result.y = v.y; 39579 return result; 39580 } 39581 float2 operator.xy(float3 v) { 39582 float2 result; 39583 result.x = v.x; 39584 result.y = v.y; 39585 return result; 39586 } 39587 float2 operator.xy(float4 v) { 39588 float2 result; 39589 result.x = v.x; 39590 result.y = v.y; 39591 return result; 39592 } 37571 native bool2 operator.xy(bool2); 37572 native bool2 operator.xy(bool3); 37573 native bool2 operator.xy(bool4); 37574 native uint2 operator.xy(uint2); 37575 native uint2 operator.xy(uint3); 37576 native uint2 operator.xy(uint4); 37577 native int2 operator.xy(int2); 37578 native int2 operator.xy(int3); 37579 native int2 operator.xy(int4); 37580 native float2 operator.xy(float2); 37581 native float2 operator.xy(float3); 37582 native float2 operator.xy(float4); -
trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp
r248303 r248730 42 42 43 43 namespace WHLSL { 44 45 constexpr bool verbose = false; 44 46 45 47 static String decompressAndDecodeStandardLibrary() … … 111 113 continue; 112 114 auto stringView = StringView(standardLibrary.get()).substring(iterator->value.start, iterator->value.end - iterator->value.start); 115 if (verbose) { 116 dataLogLn("---------------------------"); 117 dataLogLn(stringView); 118 dataLogLn("---------------------------"); 119 } 120 auto start = program.functionDefinitions().size(); 113 121 auto parseResult = parser.parse(program, stringView, ParsingMode::StandardLibrary); 114 122 if (!parseResult) { … … 116 124 ASSERT_NOT_REACHED(); 117 125 return; 126 } 127 if (verbose) { 128 if (program.functionDefinitions().size() != start) 129 dataLogLn("non native stdlib function: '", name, "'"); 118 130 } 119 131 allFunctionNames.add(name);
Note: See TracChangeset
for help on using the changeset viewer.