MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / addRuntimeSort

Method addRuntimeSort

src/builtin/module_builtin_runtime_sort.cpp:542–702  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 3

setAotTemplateMethod · 0.80
setAnyTemplateMethod · 0.80
argsMethod · 0.45

Tested by

no test coverage detected