| 478 | } |
| 479 | |
| 480 | bv_library* Library() |
| 481 | { |
| 482 | bv_library* lib = bv_library_create(); |
| 483 | |
| 484 | // vector types |
| 485 | Common::lib_add_vec(lib, "float4", 4); |
| 486 | Common::lib_add_vec(lib, "int4", 4); |
| 487 | Common::lib_add_vec(lib, "bool4", 4, 1); |
| 488 | Common::lib_add_vec(lib, "half4", 4); |
| 489 | Common::lib_add_vec(lib, "uint4", 4); |
| 490 | Common::lib_add_vec(lib, "float3", 3); |
| 491 | Common::lib_add_vec(lib, "int3", 3); |
| 492 | Common::lib_add_vec(lib, "bool3", 3, 1); |
| 493 | Common::lib_add_vec(lib, "half3", 3); |
| 494 | Common::lib_add_vec(lib, "uint3", 3); |
| 495 | Common::lib_add_vec(lib, "float2", 2); |
| 496 | Common::lib_add_vec(lib, "int2", 2); |
| 497 | Common::lib_add_vec(lib, "bool2", 2, 1); |
| 498 | Common::lib_add_vec(lib, "half2", 2); |
| 499 | Common::lib_add_vec(lib, "uint2", 2); |
| 500 | |
| 501 | // matrix types |
| 502 | Common::lib_add_mat(lib, "float2x2"); |
| 503 | Common::lib_add_mat(lib, "float3x2"); |
| 504 | Common::lib_add_mat(lib, "float4x2"); |
| 505 | Common::lib_add_mat(lib, "float2x3"); |
| 506 | Common::lib_add_mat(lib, "float3x3"); |
| 507 | Common::lib_add_mat(lib, "float4x3"); |
| 508 | Common::lib_add_mat(lib, "float2x4"); |
| 509 | Common::lib_add_mat(lib, "float3x4"); |
| 510 | Common::lib_add_mat(lib, "float4x4"); |
| 511 | |
| 512 | // trigonometry |
| 513 | bv_library_add_function(lib, "acos", Common::lib_common_acos); |
| 514 | bv_library_add_function(lib, "asin", Common::lib_common_asin); |
| 515 | bv_library_add_function(lib, "atan", Common::lib_common_atan); |
| 516 | bv_library_add_function(lib, "atan2", Common::lib_common_atan); |
| 517 | bv_library_add_function(lib, "cos", Common::lib_common_cos); |
| 518 | bv_library_add_function(lib, "cosh", Common::lib_common_cosh); |
| 519 | bv_library_add_function(lib, "sin", Common::lib_common_sin); |
| 520 | bv_library_add_function(lib, "sincos", lib_hlsl_sincos); |
| 521 | bv_library_add_function(lib, "sinh", Common::lib_common_sinh); |
| 522 | bv_library_add_function(lib, "tan", Common::lib_common_tan); |
| 523 | bv_library_add_function(lib, "tanh", Common::lib_common_tanh); |
| 524 | bv_library_add_function(lib, "degrees", Common::lib_common_degrees); |
| 525 | bv_library_add_function(lib, "radians", Common::lib_common_radians); |
| 526 | |
| 527 | // mathematics |
| 528 | bv_library_add_function(lib, "abs", Common::lib_common_abs); |
| 529 | bv_library_add_function(lib, "ceil", Common::lib_common_ceil); |
| 530 | bv_library_add_function(lib, "clamp", Common::lib_common_clamp); |
| 531 | bv_library_add_function(lib, "ddx", Common::lib_common_dFdx); |
| 532 | bv_library_add_function(lib, "ddy", Common::lib_common_dFdy); |
| 533 | bv_library_add_function(lib, "ddx_coarse", Common::lib_common_dFdxCoarse); |
| 534 | bv_library_add_function(lib, "ddy_coarse", Common::lib_common_dFdyCoarse); |
| 535 | bv_library_add_function(lib, "ddx_fine", Common::lib_common_dFdxFine); |
| 536 | bv_library_add_function(lib, "ddy_fine", Common::lib_common_dFdyFine); |
| 537 | bv_library_add_function(lib, "exp", Common::lib_common_exp); |
nothing calls this directly
no test coverage detected