| 540 | }; |
| 541 | |
| 542 | void Module_BuiltIn::addRuntimeSort(ModuleLibrary & lib) { |
| 543 | // annotation |
| 544 | addAnnotation(new BuiltinSortFunctionAnnotation()); |
| 545 | // numeric |
| 546 | ADD_NUMERIC_SORT(int32_t); |
| 547 | ADD_NUMERIC_SORT(uint32_t); |
| 548 | ADD_NUMERIC_SORT(int64_t); |
| 549 | ADD_NUMERIC_SORT(uint64_t); |
| 550 | ADD_NUMERIC_SORT(float); |
| 551 | ADD_NUMERIC_SORT(double); |
| 552 | // vector |
| 553 | ADD_VECTOR_SORT(range); |
| 554 | ADD_VECTOR_SORT(urange); |
| 555 | ADD_VECTOR_SORT(range64); |
| 556 | ADD_VECTOR_SORT(urange64); |
| 557 | ADD_VECTOR_SORT(int2); |
| 558 | ADD_VECTOR_SORT(int3); |
| 559 | ADD_VECTOR_SORT(int4); |
| 560 | ADD_VECTOR_SORT(uint2); |
| 561 | ADD_VECTOR_SORT(uint3); |
| 562 | ADD_VECTOR_SORT(uint4); |
| 563 | ADD_VECTOR_SORT(float2); |
| 564 | ADD_VECTOR_SORT(float3); |
| 565 | ADD_VECTOR_SORT(float4); |
| 566 | // string |
| 567 | addExtern<DAS_BIND_FUN(builtin_sort_string)>(*this, lib, "__builtin_sort_string", |
| 568 | SideEffects::modifyArgumentAndExternal, "builtin_sort_string") |
| 569 | ->args({"data","length"}); |
| 570 | addExtern<DAS_BIND_FUN(builtin_sort_cblock<char *>)>(*this, lib, "__builtin_sort_cblock", |
| 571 | SideEffects::modifyArgumentAndExternal, "builtin_sort_cblock<char *>") |
| 572 | ->args({"array","stride","length","block","context","line"}); |
| 573 | addExtern<DAS_BIND_FUN(builtin_sort_cblock_array<char *>)>(*this, lib, "__builtin_sort_cblock_array", |
| 574 | SideEffects::modifyArgumentAndExternal, "builtin_sort_array_any_ref_cblock_T") |
| 575 | ->args({"array","stride","length","block","context","line"})->setAotTemplate(); |
| 576 | addExtern<DAS_BIND_FUN(builtin_sort_cblock<char *>)>(*this, lib, "__builtin_sort_cblock_dim", |
| 577 | SideEffects::modifyArgumentAndExternal, "builtin_sort_dim_any_ref_cblock_T") |
| 578 | ->args({"array","stride","length","block","context","line"})->setAotTemplate()->setAnyTemplate(); |
| 579 | // generic sort |
| 580 | addExtern<DAS_BIND_FUN(builtin_sort_any_cblock)>(*this, lib, "__builtin_sort_any_cblock", |
| 581 | SideEffects::modifyArgumentAndExternal, "builtin_sort_any_cblock") |
| 582 | ->args({"array","stride","length","block","context","line"}); |
| 583 | addExtern<DAS_BIND_FUN(builtin_sort_any_ref_cblock)>(*this, lib, "__builtin_sort_any_ref_cblock", |
| 584 | SideEffects::modifyArgumentAndExternal, "builtin_sort_any_ref_cblock") |
| 585 | ->args({"array","stride","length","block","context","line"}); |
| 586 | // generic array sort |
| 587 | addExtern<DAS_BIND_FUN(builtin_sort_array_any_cblock)>(*this, lib, "__builtin_sort_array_any_cblock", |
| 588 | SideEffects::modifyArgumentAndExternal, "builtin_sort_array_any_cblock_T") |
| 589 | ->args({"array","stride","length","block","context","line"})->setAotTemplate(); |
| 590 | addExtern<DAS_BIND_FUN(builtin_sort_array_any_ref_cblock)>(*this, lib, "__builtin_sort_array_any_ref_cblock", |
| 591 | SideEffects::modifyArgumentAndExternal, "builtin_sort_array_any_ref_cblock_T") |
| 592 | ->args({"array","stride","length","block","context","line"})->setAotTemplate(); |
| 593 | // dim sort |
| 594 | addExtern<DAS_BIND_FUN(builtin_sort_dim_any_cblock)>(*this, lib, "__builtin_sort_dim_any_cblock", |
| 595 | SideEffects::modifyArgumentAndExternal, "builtin_sort_dim_any_cblock_T") |
| 596 | ->args({"array","stride","length","block","context","line"})->setAotTemplate()->setAnyTemplate(); |
| 597 | addExtern<DAS_BIND_FUN(builtin_sort_dim_any_ref_cblock)>(*this, lib, "__builtin_sort_dim_any_ref_cblock", |
| 598 | SideEffects::modifyArgumentAndExternal, "builtin_sort_dim_any_ref_cblock_T") |
| 599 | ->args({"array","stride","length","block","context","line"})->setAotTemplate()->setAnyTemplate(); |
nothing calls this directly
no test coverage detected