|
template<typename... Ts> |
using | common_type = typename common_type_impl< Ts... >::type |
|
template<typename F , typename... Args> |
using | invoke_result = std::invoke_result_t< F, Args... > |
|
template<typename Container , std::size_t I> |
using | get = typename get_impl< Container, I >::type |
|
template<typename T > |
using | infer_value_type = typename infer_value_type_impl< T >::type |
|
template<typename Iter > |
using | infer_difference_type = typename infer_difference_type_impl< Iter >::type |
|
template<size_t N> |
using | Plane = plane< real_type, N > |
|
using | plane2 = Plane< 2 > |
|
using | plane3 = Plane< 3 > |
|
using | plane4 = Plane< 4 > |
|
using | plane5 = Plane< 5 > |
|
using | plane6 = Plane< 6 > |
|
using | plane7 = Plane< 7 > |
|
using | plane8 = Plane< 8 > |
|
using | plane9 = Plane< 9 > |
|
using | plane10 = Plane< 10 > |
|
template<typename Tuple1 , typename Tuple2 > |
using | tuple_concat_types = typename tuple_concat_types_impl< Tuple1, Tuple2 >::type |
|
template<typename Counter , typename T > |
using | type_counter_increase_if_equal = typename type_counter_increase_if_equal_impl< Counter, T >::type |
|
template<typename Counter , typename... Ts> |
using | type_counter_insert = typename type_counter_insert_impl< Counter, Ts... >::type |
|
template<typename... Ts> |
using | count_types = typename count_types_impl< type_list< Ts... >, Ts... >::type |
|
template<typename TypeList , std::size_t I> |
using | type_list_at = typename type_list_at_impl< TypeList, I >::type |
| Access to the Ith element of TypeList. More...
|
|
template<typename TypeList > |
using | type_list_back = typename type_list_back_impl< TypeList >::type |
|
template<typename TypeList > |
using | type_list_front = typename type_list_front_impl< TypeList >::type |
|
template<typename TypeList , typename NewBack > |
using | type_list_push_back = typename type_list_push_back_impl< TypeList, NewBack >::type |
|
template<typename TypeList , typename NewFront > |
using | type_list_push_front = typename type_list_push_front_impl< TypeList, NewFront >::type |
|
template<typename TypeList > |
using | type_list_pop_back = typename type_list_pop_back_impl< TypeList >::type |
|
template<typename TypeList > |
using | type_list_pop_front = typename type_list_pop_front_impl< TypeList >::type |
|
template<typename... Ts> |
using | type_list = type_list_impl< Ts... > |
| Constructor for tatooine::type_list_impl. More...
|
|
template<typename TypeList , typename NewType > |
using | type_set_insert = typename type_set_insert_impl< TypeList, NewType >::type |
|
template<typename... Ts> |
using | type_set = typename type_set_constructor< type_list<>, Ts... >::type |
|
template<typename T > |
using | value_type = typename value_type_impl< T >::type |
|
template<typename T > |
using | internal_data_type_t = typename internal_data_type< T >::type |
|
template<typename T , typename Ret , typename ... Args> |
using | const_method_ptr = Ret(T::*)(Args...) const |
|
template<typename T , typename Ret , typename ... Args> |
using | non_const_method_ptr = Ret(T::*)(Args...) |
|
template<typename... > |
using | void_t = void |
|
template<std::size_t M, std::size_t N> |
using | Mat = mat< real_number, M, N > |
|
template<std::size_t M, std::size_t N> |
using | MatD = mat< double, M, N > |
|
template<std::size_t M, std::size_t N> |
using | MatF = mat< float, M, N > |
|
template<typename T > |
using | Mat22 = mat< T, 2, 2 > |
|
template<typename T > |
using | Mat23 = mat< T, 2, 3 > |
|
template<typename T > |
using | Mat24 = mat< T, 2, 4 > |
|
template<typename T > |
using | Mat25 = mat< T, 2, 5 > |
|
template<typename T > |
using | Mat26 = mat< T, 2, 6 > |
|
template<typename T > |
using | Mat27 = mat< T, 2, 7 > |
|
template<typename T > |
using | Mat28 = mat< T, 2, 8 > |
|
template<typename T > |
using | Mat29 = mat< T, 2, 9 > |
|
template<typename T > |
using | Mat32 = mat< T, 3, 2 > |
|
template<typename T > |
using | Mat33 = mat< T, 3, 3 > |
|
template<typename T > |
using | Mat34 = mat< T, 3, 4 > |
|
template<typename T > |
using | Mat35 = mat< T, 3, 5 > |
|
template<typename T > |
using | Mat36 = mat< T, 3, 6 > |
|
template<typename T > |
using | Mat37 = mat< T, 3, 7 > |
|
template<typename T > |
using | Mat38 = mat< T, 3, 8 > |
|
template<typename T > |
using | Mat39 = mat< T, 3, 9 > |
|
template<typename T > |
using | Mat42 = mat< T, 4, 2 > |
|
template<typename T > |
using | Mat43 = mat< T, 4, 3 > |
|
template<typename T > |
using | Mat44 = mat< T, 4, 4 > |
|
template<typename T > |
using | Mat45 = mat< T, 4, 5 > |
|
template<typename T > |
using | Mat46 = mat< T, 4, 6 > |
|
template<typename T > |
using | Mat47 = mat< T, 4, 7 > |
|
template<typename T > |
using | Mat48 = mat< T, 4, 8 > |
|
template<typename T > |
using | Mat49 = mat< T, 4, 9 > |
|
template<typename T > |
using | Mat52 = mat< T, 5, 2 > |
|
template<typename T > |
using | Mat53 = mat< T, 5, 3 > |
|
template<typename T > |
using | Mat54 = mat< T, 5, 4 > |
|
template<typename T > |
using | Mat55 = mat< T, 5, 5 > |
|
template<typename T > |
using | Mat56 = mat< T, 5, 6 > |
|
template<typename T > |
using | Mat57 = mat< T, 5, 7 > |
|
template<typename T > |
using | Mat58 = mat< T, 5, 8 > |
|
template<typename T > |
using | Mat59 = mat< T, 5, 9 > |
|
template<typename T > |
using | Mat62 = mat< T, 6, 2 > |
|
template<typename T > |
using | Mat63 = mat< T, 6, 3 > |
|
template<typename T > |
using | Mat64 = mat< T, 6, 4 > |
|
template<typename T > |
using | Mat65 = mat< T, 6, 5 > |
|
template<typename T > |
using | Mat66 = mat< T, 6, 6 > |
|
template<typename T > |
using | Mat67 = mat< T, 6, 7 > |
|
template<typename T > |
using | Mat68 = mat< T, 6, 8 > |
|
template<typename T > |
using | Mat69 = mat< T, 6, 9 > |
|
template<typename T > |
using | Mat72 = mat< T, 7, 2 > |
|
template<typename T > |
using | Mat73 = mat< T, 7, 3 > |
|
template<typename T > |
using | Mat74 = mat< T, 7, 4 > |
|
template<typename T > |
using | Mat75 = mat< T, 7, 5 > |
|
template<typename T > |
using | Mat76 = mat< T, 7, 6 > |
|
template<typename T > |
using | Mat77 = mat< T, 7, 7 > |
|
template<typename T > |
using | Mat78 = mat< T, 7, 8 > |
|
template<typename T > |
using | Mat79 = mat< T, 7, 9 > |
|
template<typename T > |
using | Mat82 = mat< T, 8, 2 > |
|
template<typename T > |
using | Mat83 = mat< T, 8, 3 > |
|
template<typename T > |
using | Mat84 = mat< T, 8, 4 > |
|
template<typename T > |
using | Mat85 = mat< T, 8, 5 > |
|
template<typename T > |
using | Mat86 = mat< T, 8, 6 > |
|
template<typename T > |
using | Mat87 = mat< T, 8, 7 > |
|
template<typename T > |
using | Mat88 = mat< T, 8, 8 > |
|
template<typename T > |
using | Mat89 = mat< T, 8, 9 > |
|
template<typename T > |
using | Mat92 = mat< T, 9, 2 > |
|
template<typename T > |
using | Mat93 = mat< T, 9, 3 > |
|
template<typename T > |
using | Mat94 = mat< T, 9, 4 > |
|
template<typename T > |
using | Mat95 = mat< T, 9, 5 > |
|
template<typename T > |
using | Mat96 = mat< T, 9, 6 > |
|
template<typename T > |
using | Mat97 = mat< T, 9, 7 > |
|
template<typename T > |
using | Mat98 = mat< T, 9, 8 > |
|
template<typename T > |
using | Mat99 = mat< T, 9, 9 > |
|
template<typename T > |
using | Mat2 = Mat22< T > |
|
template<typename T > |
using | Mat3 = Mat33< T > |
|
template<typename T > |
using | Mat4 = Mat44< T > |
|
template<typename T > |
using | Mat5 = Mat55< T > |
|
template<typename T > |
using | Mat6 = Mat66< T > |
|
template<typename T > |
using | Mat7 = Mat77< T > |
|
template<typename T > |
using | Mat8 = Mat88< T > |
|
template<typename T > |
using | Mat9 = Mat99< T > |
|
using | mat22 = Mat< 2, 2 > |
|
using | mat23 = Mat< 2, 3 > |
|
using | mat24 = Mat< 2, 4 > |
|
using | mat25 = Mat< 2, 5 > |
|
using | mat26 = Mat< 2, 6 > |
|
using | mat27 = Mat< 2, 7 > |
|
using | mat28 = Mat< 2, 8 > |
|
using | mat29 = Mat< 2, 9 > |
|
using | mat32 = Mat< 3, 2 > |
|
using | mat33 = Mat< 3, 3 > |
|
using | mat34 = Mat< 3, 4 > |
|
using | mat35 = Mat< 3, 5 > |
|
using | mat36 = Mat< 3, 6 > |
|
using | mat37 = Mat< 3, 7 > |
|
using | mat38 = Mat< 3, 8 > |
|
using | mat39 = Mat< 3, 9 > |
|
using | mat42 = Mat< 4, 2 > |
|
using | mat43 = Mat< 4, 3 > |
|
using | mat44 = Mat< 4, 4 > |
|
using | mat45 = Mat< 4, 5 > |
|
using | mat46 = Mat< 4, 6 > |
|
using | mat47 = Mat< 4, 7 > |
|
using | mat48 = Mat< 4, 8 > |
|
using | mat49 = Mat< 4, 9 > |
|
using | mat52 = Mat< 5, 2 > |
|
using | mat53 = Mat< 5, 3 > |
|
using | mat54 = Mat< 5, 4 > |
|
using | mat55 = Mat< 5, 5 > |
|
using | mat56 = Mat< 5, 6 > |
|
using | mat57 = Mat< 5, 7 > |
|
using | mat58 = Mat< 5, 8 > |
|
using | mat59 = Mat< 5, 9 > |
|
using | mat62 = Mat< 6, 2 > |
|
using | mat63 = Mat< 6, 3 > |
|
using | mat64 = Mat< 6, 4 > |
|
using | mat65 = Mat< 6, 5 > |
|
using | mat66 = Mat< 6, 6 > |
|
using | mat67 = Mat< 6, 7 > |
|
using | mat68 = Mat< 6, 8 > |
|
using | mat69 = Mat< 6, 9 > |
|
using | mat72 = Mat< 7, 2 > |
|
using | mat73 = Mat< 7, 3 > |
|
using | mat74 = Mat< 7, 4 > |
|
using | mat75 = Mat< 7, 5 > |
|
using | mat76 = Mat< 7, 6 > |
|
using | mat77 = Mat< 7, 7 > |
|
using | mat78 = Mat< 7, 8 > |
|
using | mat79 = Mat< 7, 9 > |
|
using | mat82 = Mat< 8, 2 > |
|
using | mat83 = Mat< 8, 3 > |
|
using | mat84 = Mat< 8, 4 > |
|
using | mat85 = Mat< 8, 5 > |
|
using | mat86 = Mat< 8, 6 > |
|
using | mat87 = Mat< 8, 7 > |
|
using | mat88 = Mat< 8, 8 > |
|
using | mat89 = Mat< 8, 9 > |
|
using | mat92 = Mat< 9, 2 > |
|
using | mat93 = Mat< 9, 3 > |
|
using | mat94 = Mat< 9, 4 > |
|
using | mat95 = Mat< 9, 5 > |
|
using | mat96 = Mat< 9, 6 > |
|
using | mat97 = Mat< 9, 7 > |
|
using | mat98 = Mat< 9, 8 > |
|
using | mat99 = Mat< 9, 9 > |
|
using | mat2 = mat22 |
|
using | mat3 = mat33 |
|
using | mat4 = mat44 |
|
using | mat5 = mat55 |
|
using | mat6 = mat66 |
|
using | mat7 = mat77 |
|
using | mat8 = mat88 |
|
using | mat9 = mat99 |
|
using | mat22f = MatF< 2, 2 > |
|
using | mat23f = MatF< 2, 3 > |
|
using | mat24f = MatF< 2, 4 > |
|
using | mat25f = MatF< 2, 5 > |
|
using | mat26f = MatF< 2, 6 > |
|
using | mat27f = MatF< 2, 7 > |
|
using | mat28f = MatF< 2, 8 > |
|
using | mat29f = MatF< 2, 9 > |
|
using | mat32f = MatF< 3, 2 > |
|
using | mat33f = MatF< 3, 3 > |
|
using | mat34f = MatF< 3, 4 > |
|
using | mat35f = MatF< 3, 5 > |
|
using | mat36f = MatF< 3, 6 > |
|
using | mat37f = MatF< 3, 7 > |
|
using | mat38f = MatF< 3, 8 > |
|
using | mat39f = MatF< 3, 9 > |
|
using | mat42f = MatF< 4, 2 > |
|
using | mat43f = MatF< 4, 3 > |
|
using | mat44f = MatF< 4, 4 > |
|
using | mat45f = MatF< 4, 5 > |
|
using | mat46f = MatF< 4, 6 > |
|
using | mat47f = MatF< 4, 7 > |
|
using | mat48f = MatF< 4, 8 > |
|
using | mat49f = MatF< 4, 9 > |
|
using | mat52f = MatF< 5, 2 > |
|
using | mat53f = MatF< 5, 3 > |
|
using | mat54f = MatF< 5, 4 > |
|
using | mat55f = MatF< 5, 5 > |
|
using | mat56f = MatF< 5, 6 > |
|
using | mat57f = MatF< 5, 7 > |
|
using | mat58f = MatF< 5, 8 > |
|
using | mat59f = MatF< 5, 9 > |
|
using | mat62f = MatF< 6, 2 > |
|
using | mat63f = MatF< 6, 3 > |
|
using | mat64f = MatF< 6, 4 > |
|
using | mat65f = MatF< 6, 5 > |
|
using | mat66f = MatF< 6, 6 > |
|
using | mat67f = MatF< 6, 7 > |
|
using | mat68f = MatF< 6, 8 > |
|
using | mat69f = MatF< 6, 9 > |
|
using | mat72f = MatF< 7, 2 > |
|
using | mat73f = MatF< 7, 3 > |
|
using | mat74f = MatF< 7, 4 > |
|
using | mat75f = MatF< 7, 5 > |
|
using | mat76f = MatF< 7, 6 > |
|
using | mat77f = MatF< 7, 7 > |
|
using | mat78f = MatF< 7, 8 > |
|
using | mat79f = MatF< 7, 9 > |
|
using | mat82f = MatF< 8, 2 > |
|
using | mat83f = MatF< 8, 3 > |
|
using | mat84f = MatF< 8, 4 > |
|
using | mat85f = MatF< 8, 5 > |
|
using | mat86f = MatF< 8, 6 > |
|
using | mat87f = MatF< 8, 7 > |
|
using | mat88f = MatF< 8, 8 > |
|
using | mat89f = MatF< 8, 9 > |
|
using | mat92f = MatF< 9, 2 > |
|
using | mat93f = MatF< 9, 3 > |
|
using | mat94f = MatF< 9, 4 > |
|
using | mat95f = MatF< 9, 5 > |
|
using | mat96f = MatF< 9, 6 > |
|
using | mat97f = MatF< 9, 7 > |
|
using | mat98f = MatF< 9, 8 > |
|
using | mat99f = MatF< 9, 9 > |
|
using | mat2f = mat22f |
|
using | mat3f = mat33f |
|
using | mat4f = mat44f |
|
using | mat5f = mat55f |
|
using | mat6f = mat66f |
|
using | mat7f = mat77f |
|
using | mat8f = mat88f |
|
using | mat9f = mat99f |
|
using | mat22d = MatD< 2, 2 > |
|
using | mat23d = MatD< 2, 3 > |
|
using | mat24d = MatD< 2, 4 > |
|
using | mat25d = MatD< 2, 5 > |
|
using | mat26d = MatD< 2, 6 > |
|
using | mat27d = MatD< 2, 7 > |
|
using | mat28d = MatD< 2, 8 > |
|
using | mat29d = MatD< 2, 9 > |
|
using | mat32d = MatD< 3, 2 > |
|
using | mat33d = MatD< 3, 3 > |
|
using | mat34d = MatD< 3, 4 > |
|
using | mat35d = MatD< 3, 5 > |
|
using | mat36d = MatD< 3, 6 > |
|
using | mat37d = MatD< 3, 7 > |
|
using | mat38d = MatD< 3, 8 > |
|
using | mat39d = MatD< 3, 9 > |
|
using | mat42d = MatD< 4, 2 > |
|
using | mat43d = MatD< 4, 3 > |
|
using | mat44d = MatD< 4, 4 > |
|
using | mat45d = MatD< 4, 5 > |
|
using | mat46d = MatD< 4, 6 > |
|
using | mat47d = MatD< 4, 7 > |
|
using | mat48d = MatD< 4, 8 > |
|
using | mat49d = MatD< 4, 9 > |
|
using | mat52d = MatD< 5, 2 > |
|
using | mat53d = MatD< 5, 3 > |
|
using | mat54d = MatD< 5, 4 > |
|
using | mat55d = MatD< 5, 5 > |
|
using | mat56d = MatD< 5, 6 > |
|
using | mat57d = MatD< 5, 7 > |
|
using | mat58d = MatD< 5, 8 > |
|
using | mat59d = MatD< 5, 9 > |
|
using | mat62d = MatD< 6, 2 > |
|
using | mat63d = MatD< 6, 3 > |
|
using | mat64d = MatD< 6, 4 > |
|
using | mat65d = MatD< 6, 5 > |
|
using | mat66d = MatD< 6, 6 > |
|
using | mat67d = MatD< 6, 7 > |
|
using | mat68d = MatD< 6, 8 > |
|
using | mat69d = MatD< 6, 9 > |
|
using | mat72d = MatD< 7, 2 > |
|
using | mat73d = MatD< 7, 3 > |
|
using | mat74d = MatD< 7, 4 > |
|
using | mat75d = MatD< 7, 5 > |
|
using | mat76d = MatD< 7, 6 > |
|
using | mat77d = MatD< 7, 7 > |
|
using | mat78d = MatD< 7, 8 > |
|
using | mat79d = MatD< 7, 9 > |
|
using | mat82d = MatD< 8, 2 > |
|
using | mat83d = MatD< 8, 3 > |
|
using | mat84d = MatD< 8, 4 > |
|
using | mat85d = MatD< 8, 5 > |
|
using | mat86d = MatD< 8, 6 > |
|
using | mat87d = MatD< 8, 7 > |
|
using | mat88d = MatD< 8, 8 > |
|
using | mat89d = MatD< 8, 9 > |
|
using | mat92d = MatD< 9, 2 > |
|
using | mat93d = MatD< 9, 3 > |
|
using | mat94d = MatD< 9, 4 > |
|
using | mat95d = MatD< 9, 5 > |
|
using | mat96d = MatD< 9, 6 > |
|
using | mat97d = MatD< 9, 7 > |
|
using | mat98d = MatD< 9, 8 > |
|
using | mat99d = MatD< 9, 9 > |
|
using | mat2d = mat22d |
|
using | mat3d = mat33d |
|
using | mat4d = mat44d |
|
using | mat5d = mat55d |
|
using | mat6d = mat66d |
|
using | mat7d = mat77d |
|
using | mat8d = mat88d |
|
using | mat9d = mat99d |
|
template<typename T , std::size_t M, std::size_t N> |
using | complex_mat = mat< std::complex< T >, M, N > |
|
template<std::size_t M, std::size_t N> |
using | ComplexMat = complex_mat< real_number, M, N > |
|
template<std::size_t M, std::size_t N> |
using | ComplexMatD = complex_mat< double, M, N > |
|
template<std::size_t M, std::size_t N> |
using | ComplexMatF = complex_mat< float, M, N > |
|
using | complex_mat22 = ComplexMat< 2, 2 > |
|
using | complex_mat23 = ComplexMat< 2, 3 > |
|
using | complex_mat24 = ComplexMat< 2, 4 > |
|
using | complex_mat25 = ComplexMat< 2, 5 > |
|
using | complex_mat26 = ComplexMat< 2, 6 > |
|
using | complex_mat27 = ComplexMat< 2, 7 > |
|
using | complex_mat28 = ComplexMat< 2, 8 > |
|
using | complex_mat29 = ComplexMat< 2, 9 > |
|
using | complex_mat32 = ComplexMat< 3, 2 > |
|
using | complex_mat33 = ComplexMat< 3, 3 > |
|
using | complex_mat34 = ComplexMat< 3, 4 > |
|
using | complex_mat35 = ComplexMat< 3, 5 > |
|
using | complex_mat36 = ComplexMat< 3, 6 > |
|
using | complex_mat37 = ComplexMat< 3, 7 > |
|
using | complex_mat38 = ComplexMat< 3, 8 > |
|
using | complex_mat39 = ComplexMat< 3, 9 > |
|
using | complex_mat42 = ComplexMat< 4, 2 > |
|
using | complex_mat43 = ComplexMat< 4, 3 > |
|
using | complex_mat44 = ComplexMat< 4, 4 > |
|
using | complex_mat45 = ComplexMat< 4, 5 > |
|
using | complex_mat46 = ComplexMat< 4, 6 > |
|
using | complex_mat47 = ComplexMat< 4, 7 > |
|
using | complex_mat48 = ComplexMat< 4, 8 > |
|
using | complex_mat49 = ComplexMat< 4, 9 > |
|
using | complex_mat52 = ComplexMat< 5, 2 > |
|
using | complex_mat53 = ComplexMat< 5, 3 > |
|
using | complex_mat54 = ComplexMat< 5, 4 > |
|
using | complex_mat55 = ComplexMat< 5, 5 > |
|
using | complex_mat56 = ComplexMat< 5, 6 > |
|
using | complex_mat57 = ComplexMat< 5, 7 > |
|
using | complex_mat58 = ComplexMat< 5, 8 > |
|
using | complex_mat59 = ComplexMat< 5, 9 > |
|
using | complex_mat62 = ComplexMat< 6, 2 > |
|
using | complex_mat63 = ComplexMat< 6, 3 > |
|
using | complex_mat64 = ComplexMat< 6, 4 > |
|
using | complex_mat65 = ComplexMat< 6, 5 > |
|
using | complex_mat66 = ComplexMat< 6, 6 > |
|
using | complex_mat67 = ComplexMat< 6, 7 > |
|
using | complex_mat68 = ComplexMat< 6, 8 > |
|
using | complex_mat69 = ComplexMat< 6, 9 > |
|
using | complex_mat72 = ComplexMat< 7, 2 > |
|
using | complex_mat73 = ComplexMat< 7, 3 > |
|
using | complex_mat74 = ComplexMat< 7, 4 > |
|
using | complex_mat75 = ComplexMat< 7, 5 > |
|
using | complex_mat76 = ComplexMat< 7, 6 > |
|
using | complex_mat77 = ComplexMat< 7, 7 > |
|
using | complex_mat78 = ComplexMat< 7, 8 > |
|
using | complex_mat79 = ComplexMat< 7, 9 > |
|
using | complex_mat82 = ComplexMat< 8, 2 > |
|
using | complex_mat83 = ComplexMat< 8, 3 > |
|
using | complex_mat84 = ComplexMat< 8, 4 > |
|
using | complex_mat85 = ComplexMat< 8, 5 > |
|
using | complex_mat86 = ComplexMat< 8, 6 > |
|
using | complex_mat87 = ComplexMat< 8, 7 > |
|
using | complex_mat88 = ComplexMat< 8, 8 > |
|
using | complex_mat89 = ComplexMat< 8, 9 > |
|
using | complex_mat92 = ComplexMat< 9, 2 > |
|
using | complex_mat93 = ComplexMat< 9, 3 > |
|
using | complex_mat94 = ComplexMat< 9, 4 > |
|
using | complex_mat95 = ComplexMat< 9, 5 > |
|
using | complex_mat96 = ComplexMat< 9, 6 > |
|
using | complex_mat97 = ComplexMat< 9, 7 > |
|
using | complex_mat98 = ComplexMat< 9, 8 > |
|
using | complex_mat99 = ComplexMat< 9, 9 > |
|
using | complex_mat2 = complex_mat22 |
|
using | complex_mat3 = complex_mat33 |
|
using | complex_mat4 = complex_mat44 |
|
using | complex_mat5 = complex_mat55 |
|
using | complex_mat6 = complex_mat66 |
|
using | complex_mat7 = complex_mat77 |
|
using | complex_mat8 = complex_mat88 |
|
using | complex_mat9 = complex_mat99 |
|
using | complex_mat22f = ComplexMatF< 2, 2 > |
|
using | complex_mat23f = ComplexMatF< 2, 3 > |
|
using | complex_mat24f = ComplexMatF< 2, 4 > |
|
using | complex_mat25f = ComplexMatF< 2, 5 > |
|
using | complex_mat26f = ComplexMatF< 2, 6 > |
|
using | complex_mat27f = ComplexMatF< 2, 7 > |
|
using | complex_mat28f = ComplexMatF< 2, 8 > |
|
using | complex_mat29f = ComplexMatF< 2, 9 > |
|
using | complex_mat32f = ComplexMatF< 3, 2 > |
|
using | complex_mat33f = ComplexMatF< 3, 3 > |
|
using | complex_mat34f = ComplexMatF< 3, 4 > |
|
using | complex_mat35f = ComplexMatF< 3, 5 > |
|
using | complex_mat36f = ComplexMatF< 3, 6 > |
|
using | complex_mat37f = ComplexMatF< 3, 7 > |
|
using | complex_mat38f = ComplexMatF< 3, 8 > |
|
using | complex_mat39f = ComplexMatF< 3, 9 > |
|
using | complex_mat42f = ComplexMatF< 4, 2 > |
|
using | complex_mat43f = ComplexMatF< 4, 3 > |
|
using | complex_mat44f = ComplexMatF< 4, 4 > |
|
using | complex_mat45f = ComplexMatF< 4, 5 > |
|
using | complex_mat46f = ComplexMatF< 4, 6 > |
|
using | complex_mat47f = ComplexMatF< 4, 7 > |
|
using | complex_mat48f = ComplexMatF< 4, 8 > |
|
using | complex_mat49f = ComplexMatF< 4, 9 > |
|
using | complex_mat52f = ComplexMatF< 5, 2 > |
|
using | complex_mat53f = ComplexMatF< 5, 3 > |
|
using | complex_mat54f = ComplexMatF< 5, 4 > |
|
using | complex_mat55f = ComplexMatF< 5, 5 > |
|
using | complex_mat56f = ComplexMatF< 5, 6 > |
|
using | complex_mat57f = ComplexMatF< 5, 7 > |
|
using | complex_mat58f = ComplexMatF< 5, 8 > |
|
using | complex_mat59f = ComplexMatF< 5, 9 > |
|
using | complex_mat62f = ComplexMatF< 6, 2 > |
|
using | complex_mat63f = ComplexMatF< 6, 3 > |
|
using | complex_mat64f = ComplexMatF< 6, 4 > |
|
using | complex_mat65f = ComplexMatF< 6, 5 > |
|
using | complex_mat66f = ComplexMatF< 6, 6 > |
|
using | complex_mat67f = ComplexMatF< 6, 7 > |
|
using | complex_mat68f = ComplexMatF< 6, 8 > |
|
using | complex_mat69f = ComplexMatF< 6, 9 > |
|
using | complex_mat72f = ComplexMatF< 7, 2 > |
|
using | complex_mat73f = ComplexMatF< 7, 3 > |
|
using | complex_mat74f = ComplexMatF< 7, 4 > |
|
using | complex_mat75f = ComplexMatF< 7, 5 > |
|
using | complex_mat76f = ComplexMatF< 7, 6 > |
|
using | complex_mat77f = ComplexMatF< 7, 7 > |
|
using | complex_mat78f = ComplexMatF< 7, 8 > |
|
using | complex_mat79f = ComplexMatF< 7, 9 > |
|
using | complex_mat82f = ComplexMatF< 8, 2 > |
|
using | complex_mat83f = ComplexMatF< 8, 3 > |
|
using | complex_mat84f = ComplexMatF< 8, 4 > |
|
using | complex_mat85f = ComplexMatF< 8, 5 > |
|
using | complex_mat86f = ComplexMatF< 8, 6 > |
|
using | complex_mat87f = ComplexMatF< 8, 7 > |
|
using | complex_mat88f = ComplexMatF< 8, 8 > |
|
using | complex_mat89f = ComplexMatF< 8, 9 > |
|
using | complex_mat92f = ComplexMatF< 9, 2 > |
|
using | complex_mat93f = ComplexMatF< 9, 3 > |
|
using | complex_mat94f = ComplexMatF< 9, 4 > |
|
using | complex_mat95f = ComplexMatF< 9, 5 > |
|
using | complex_mat96f = ComplexMatF< 9, 6 > |
|
using | complex_mat97f = ComplexMatF< 9, 7 > |
|
using | complex_mat98f = ComplexMatF< 9, 8 > |
|
using | complex_mat99f = ComplexMatF< 9, 9 > |
|
using | complex_mat2f = complex_mat22f |
|
using | complex_mat3f = complex_mat33f |
|
using | complex_mat4f = complex_mat44f |
|
using | complex_mat5f = complex_mat55f |
|
using | complex_mat6f = complex_mat66f |
|
using | complex_mat7f = complex_mat77f |
|
using | complex_mat8f = complex_mat88f |
|
using | complex_mat9f = complex_mat99f |
|
using | complex_mat22d = ComplexMatD< 2, 2 > |
|
using | complex_mat23d = ComplexMatD< 2, 3 > |
|
using | complex_mat24d = ComplexMatD< 2, 4 > |
|
using | complex_mat25d = ComplexMatD< 2, 5 > |
|
using | complex_mat26d = ComplexMatD< 2, 6 > |
|
using | complex_mat27d = ComplexMatD< 2, 7 > |
|
using | complex_mat28d = ComplexMatD< 2, 8 > |
|
using | complex_mat29d = ComplexMatD< 2, 9 > |
|
using | complex_mat32d = ComplexMatD< 3, 2 > |
|
using | complex_mat33d = ComplexMatD< 3, 3 > |
|
using | complex_mat34d = ComplexMatD< 3, 4 > |
|
using | complex_mat35d = ComplexMatD< 3, 5 > |
|
using | complex_mat36d = ComplexMatD< 3, 6 > |
|
using | complex_mat37d = ComplexMatD< 3, 7 > |
|
using | complex_mat38d = ComplexMatD< 3, 8 > |
|
using | complex_mat39d = ComplexMatD< 3, 9 > |
|
using | complex_mat42d = ComplexMatD< 4, 2 > |
|
using | complex_mat43d = ComplexMatD< 4, 3 > |
|
using | complex_mat44d = ComplexMatD< 4, 4 > |
|
using | complex_mat45d = ComplexMatD< 4, 5 > |
|
using | complex_mat46d = ComplexMatD< 4, 6 > |
|
using | complex_mat47d = ComplexMatD< 4, 7 > |
|
using | complex_mat48d = ComplexMatD< 4, 8 > |
|
using | complex_mat49d = ComplexMatD< 4, 9 > |
|
using | complex_mat52d = ComplexMatD< 5, 2 > |
|
using | complex_mat53d = ComplexMatD< 5, 3 > |
|
using | complex_mat54d = ComplexMatD< 5, 4 > |
|
using | complex_mat55d = ComplexMatD< 5, 5 > |
|
using | complex_mat56d = ComplexMatD< 5, 6 > |
|
using | complex_mat57d = ComplexMatD< 5, 7 > |
|
using | complex_mat58d = ComplexMatD< 5, 8 > |
|
using | complex_mat59d = ComplexMatD< 5, 9 > |
|
using | complex_mat62d = ComplexMatD< 6, 2 > |
|
using | complex_mat63d = ComplexMatD< 6, 3 > |
|
using | complex_mat64d = ComplexMatD< 6, 4 > |
|
using | complex_mat65d = ComplexMatD< 6, 5 > |
|
using | complex_mat66d = ComplexMatD< 6, 6 > |
|
using | complex_mat67d = ComplexMatD< 6, 7 > |
|
using | complex_mat68d = ComplexMatD< 6, 8 > |
|
using | complex_mat69d = ComplexMatD< 6, 9 > |
|
using | complex_mat72d = ComplexMatD< 7, 2 > |
|
using | complex_mat73d = ComplexMatD< 7, 3 > |
|
using | complex_mat74d = ComplexMatD< 7, 4 > |
|
using | complex_mat75d = ComplexMatD< 7, 5 > |
|
using | complex_mat76d = ComplexMatD< 7, 6 > |
|
using | complex_mat77d = ComplexMatD< 7, 7 > |
|
using | complex_mat78d = ComplexMatD< 7, 8 > |
|
using | complex_mat79d = ComplexMatD< 7, 9 > |
|
using | complex_mat82d = ComplexMatD< 8, 2 > |
|
using | complex_mat83d = ComplexMatD< 8, 3 > |
|
using | complex_mat84d = ComplexMatD< 8, 4 > |
|
using | complex_mat85d = ComplexMatD< 8, 5 > |
|
using | complex_mat86d = ComplexMatD< 8, 6 > |
|
using | complex_mat87d = ComplexMatD< 8, 7 > |
|
using | complex_mat88d = ComplexMatD< 8, 8 > |
|
using | complex_mat89d = ComplexMatD< 8, 9 > |
|
using | complex_mat92d = ComplexMatD< 9, 2 > |
|
using | complex_mat93d = ComplexMatD< 9, 3 > |
|
using | complex_mat94d = ComplexMatD< 9, 4 > |
|
using | complex_mat95d = ComplexMatD< 9, 5 > |
|
using | complex_mat96d = ComplexMatD< 9, 6 > |
|
using | complex_mat97d = ComplexMatD< 9, 7 > |
|
using | complex_mat98d = ComplexMatD< 9, 8 > |
|
using | complex_mat99d = ComplexMatD< 9, 9 > |
|
using | complex_mat2d = complex_mat22d |
|
using | complex_mat3d = complex_mat33d |
|
using | complex_mat4d = complex_mat44d |
|
using | complex_mat5d = complex_mat55d |
|
using | complex_mat6d = complex_mat66d |
|
using | complex_mat7d = complex_mat77d |
|
using | complex_mat8d = complex_mat88d |
|
using | complex_mat9d = complex_mat99d |
|
template<std::size_t... Dimensions> |
using | Tensor = tensor< real_number, Dimensions... > |
|
using | tensor222 = Tensor< 2, 2, 2 > |
|
using | tensor333 = Tensor< 3, 3, 3 > |
|
using | tensor444 = Tensor< 4, 4, 4 > |
|
using | tensor2222 = Tensor< 2, 2, 2, 2 > |
|
using | tensor3333 = Tensor< 3, 3, 3, 3 > |
|
using | tensor4444 = Tensor< 4, 4, 4, 4 > |
|
using | tensor22222 = Tensor< 2, 2, 2, 2, 2 > |
|
using | tensor33333 = Tensor< 3, 3, 3, 3, 3 > |
|
using | tensor44444 = Tensor< 4, 4, 4, 4, 4 > |
|
using | tensor222222 = Tensor< 2, 2, 2, 2, 2, 2 > |
|
using | tensor333333 = Tensor< 3, 3, 3, 3, 3, 3 > |
|
using | tensor444444 = Tensor< 4, 4, 4, 4, 4, 4 > |
|
template<typename CastedReal , typename Tensor > |
using | cast_tensor_real_type = typename cast_tensor_real< CastedReal, Tensor >::type |
|
template<std::size_t NewRightDim, typename Tensor > |
using | tensor_add_dimension_right = typename tensor_add_dimension_right_impl< NewRightDim, Tensor >::type |
|
template<std::size_t NewLeftDim, typename Tensor > |
using | tensor_add_dimension_left = typename tensor_add_dimension_left_impl< NewLeftDim, Tensor >::type |
|
template<std::size_t... Dims> |
using | TensorF = tensor< float, Dims... > |
|
template<std::size_t... Dims> |
using | TensorD = tensor< double, Dims... > |
|
template<std::size_t... Dims> |
using | TensorI64 = tensor< std::int64_t, Dims... > |
|
template<typename T , std::size_t... Dims> |
using | complex_tensor = tensor< std::complex< T >, Dims... > |
|
template<std::size_t ... Dims> |
using | ComplexTensor = tensor< std::complex< real_number >, Dims... > |
|
template<std::size_t ... Dims> |
using | ComplexTensorD = tensor< std::complex< double >, Dims... > |
|
template<std::size_t ... Dims> |
using | ComplexTensorF = tensor< std::complex< float >, Dims... > |
|
template<std::size_t N> |
using | Vec = vec< real_number, N > |
|
template<typename T > |
using | Vec2 = vec< T, 2 > |
|
template<typename T > |
using | Vec3 = vec< T, 3 > |
|
template<typename T > |
using | Vec4 = vec< T, 4 > |
|
template<typename T > |
using | Vec5 = vec< T, 5 > |
|
template<typename T > |
using | Vec6 = vec< T, 6 > |
|
template<typename T > |
using | Vec7 = vec< T, 7 > |
|
template<typename T > |
using | Vec8 = vec< T, 8 > |
|
template<typename T > |
using | Vec9 = vec< T, 9 > |
|
using | vec2 = Vec< 2 > |
|
using | vec3 = Vec< 3 > |
|
using | vec4 = Vec< 4 > |
|
using | vec5 = Vec< 5 > |
|
using | vec6 = Vec< 6 > |
|
using | vec7 = Vec< 7 > |
|
using | vec8 = Vec< 8 > |
|
using | vec9 = Vec< 9 > |
|
template<std::size_t N> |
using | VecF = vec< float, N > |
|
using | vec2f = VecF< 2 > |
|
using | vec3f = VecF< 3 > |
|
using | vec4f = VecF< 4 > |
|
using | vec5f = VecF< 5 > |
|
using | vec6f = VecF< 6 > |
|
using | vec7f = VecF< 7 > |
|
using | vec8f = VecF< 8 > |
|
using | vec9f = VecF< 9 > |
|
template<std::size_t N> |
using | VecD = vec< double, N > |
|
using | vec2d = VecD< 2 > |
|
using | vec3d = VecD< 3 > |
|
using | vec4d = VecD< 4 > |
|
using | vec5d = VecD< 5 > |
|
using | vec6d = VecD< 6 > |
|
using | vec7d = VecD< 7 > |
|
using | vec8d = VecD< 8 > |
|
using | vec9d = VecD< 9 > |
|
template<std::size_t N> |
using | VecI = vec< int, N > |
|
using | vec2i = VecI< 2 > |
|
using | vec3i = VecI< 3 > |
|
using | vec4i = VecI< 4 > |
|
using | vec5i = VecI< 5 > |
|
using | vec6i = VecI< 6 > |
|
using | vec7i = VecI< 7 > |
|
using | vec8i = VecI< 8 > |
|
using | vec9i = VecI< 9 > |
|
template<std::size_t N> |
using | VecSizeT = vec< std::size_t, N > |
|
using | vec2size_t = VecSizeT< 2 > |
|
using | vec3size_t = VecSizeT< 3 > |
|
using | vec4size_t = VecSizeT< 4 > |
|
using | vec5size_t = VecSizeT< 5 > |
|
using | vec6size_t = VecSizeT< 6 > |
|
using | vec7size_t = VecSizeT< 7 > |
|
using | vec8size_t = VecSizeT< 8 > |
|
using | vec9size_t = VecSizeT< 9 > |
|
template<std::size_t N> |
using | VecUI16 = vec< std::uint16_t, N > |
|
using | vec2ui16 = VecUI16< 2 > |
|
using | vec3ui16 = VecUI16< 3 > |
|
using | vec4ui16 = VecUI16< 4 > |
|
using | vec5ui16 = VecUI16< 5 > |
|
using | vec6ui16 = VecUI16< 6 > |
|
using | vec7ui16 = VecUI16< 7 > |
|
using | vec8ui16 = VecUI16< 8 > |
|
using | vec9ui16 = VecUI16< 9 > |
|
template<std::size_t N> |
using | VecI16 = vec< std::int16_t, N > |
|
using | vec2i16 = VecI16< 2 > |
|
using | vec3i16 = VecI16< 3 > |
|
using | vec4i16 = VecI16< 4 > |
|
using | vec5i16 = VecI16< 5 > |
|
using | vec6i16 = VecI16< 6 > |
|
using | vec7i16 = VecI16< 7 > |
|
using | vec8i16 = VecI16< 8 > |
|
using | vec9i16 = VecI16< 9 > |
|
template<std::size_t N> |
using | VecUI32 = vec< std::uint32_t, N > |
|
using | vec2ui32 = VecUI32< 2 > |
|
using | vec3ui32 = VecUI32< 3 > |
|
using | vec4ui32 = VecUI32< 4 > |
|
using | vec5ui32 = VecUI32< 5 > |
|
using | vec6ui32 = VecUI32< 6 > |
|
using | vec7ui32 = VecUI32< 7 > |
|
using | vec8ui32 = VecUI32< 8 > |
|
using | vec9ui32 = VecUI32< 9 > |
|
template<std::size_t N> |
using | VecI32 = vec< std::int32_t, N > |
|
using | vec2i32 = VecI32< 2 > |
|
using | vec3i32 = VecI32< 3 > |
|
using | vec4i32 = VecI32< 4 > |
|
using | vec5i32 = VecI32< 5 > |
|
using | vec6i32 = VecI32< 6 > |
|
using | vec7i32 = VecI32< 7 > |
|
using | vec8i32 = VecI32< 8 > |
|
using | vec9i32 = VecI32< 9 > |
|
template<std::size_t N> |
using | VecUI64 = vec< std::uint64_t, N > |
|
using | vec2ui64 = VecUI64< 2 > |
|
using | vec3ui64 = VecUI64< 3 > |
|
using | vec4ui64 = VecUI64< 4 > |
|
using | vec5ui64 = VecUI64< 5 > |
|
using | vec6ui64 = VecUI64< 6 > |
|
using | vec7ui64 = VecUI64< 7 > |
|
using | vec8ui64 = VecUI64< 8 > |
|
using | vec9ui64 = VecUI64< 9 > |
|
template<std::size_t N> |
using | VecI64 = vec< std::int64_t, N > |
|
using | vec2i64 = VecI64< 2 > |
|
using | vec3i64 = VecI64< 3 > |
|
using | vec4i64 = VecI64< 4 > |
|
using | vec5i64 = VecI64< 5 > |
|
using | vec6i64 = VecI64< 6 > |
|
using | vec7i64 = VecI64< 7 > |
|
using | vec8i64 = VecI64< 8 > |
|
using | vec9i64 = VecI64< 9 > |
|
template<typename T , std::size_t N> |
using | complex_vec = vec< std::complex< T >, N > |
|
template<std::size_t N> |
using | ComplexVec = vec< std::complex< real_number >, N > |
|
template<typename T > |
using | ComplexVec2 = vec< std::complex< T >, 2 > |
|
template<typename T > |
using | ComplexVec3 = vec< std::complex< T >, 3 > |
|
template<typename T > |
using | ComplexVec4 = vec< std::complex< T >, 4 > |
|
template<typename T > |
using | ComplexVec5 = vec< std::complex< T >, 5 > |
|
template<typename T > |
using | ComplexVec6 = vec< std::complex< T >, 6 > |
|
template<typename T > |
using | ComplexVec7 = vec< std::complex< T >, 7 > |
|
template<typename T > |
using | ComplexVec8 = vec< std::complex< T >, 8 > |
|
template<typename T > |
using | ComplexVec9 = vec< std::complex< T >, 9 > |
|
using | complex_vec2 = ComplexVec< 2 > |
|
using | complex_vec3 = ComplexVec< 3 > |
|
using | complex_vec4 = ComplexVec< 4 > |
|
using | complex_vec5 = ComplexVec< 5 > |
|
using | complex_vec6 = ComplexVec< 6 > |
|
using | complex_vec7 = ComplexVec< 7 > |
|
using | complex_vec8 = ComplexVec< 8 > |
|
using | complex_vec9 = ComplexVec< 9 > |
|
template<std::size_t N> |
using | ComplexVecD = vec< std::complex< double >, N > |
|
using | complex_vec2d = ComplexVecD< 2 > |
|
using | complex_vec3d = ComplexVecD< 3 > |
|
using | complex_vec4d = ComplexVecD< 4 > |
|
using | complex_vec5d = ComplexVecD< 5 > |
|
using | complex_vec6d = ComplexVecD< 6 > |
|
using | complex_vec7d = ComplexVecD< 7 > |
|
using | complex_vec8d = ComplexVecD< 8 > |
|
using | complex_vec9d = ComplexVecD< 9 > |
|
template<std::size_t N> |
using | ComplexVecF = vec< std::complex< float >, N > |
|
using | complex_vec2f = ComplexVecF< 2 > |
|
using | complex_vec3f = ComplexVecF< 3 > |
|
using | complex_vec4f = ComplexVecF< 4 > |
|
using | complex_vec5f = ComplexVecF< 5 > |
|
using | complex_vec6f = ComplexVecF< 6 > |
|
using | complex_vec7f = ComplexVecF< 7 > |
|
using | complex_vec8f = ComplexVecF< 8 > |
|
using | complex_vec9f = ComplexVecF< 9 > |
|
template<std::size_t NumDimensions> |
using | AABB = axis_aligned_bounding_box< real_number, NumDimensions > |
|
template<typename Real > |
using | AABB2 = axis_aligned_bounding_box< Real, 2 > |
|
template<typename Real > |
using | AABB3 = axis_aligned_bounding_box< Real, 3 > |
|
template<typename Real , std::size_t NumDimensions> |
using | aabb = axis_aligned_bounding_box< Real, NumDimensions > |
|
using | aabb2d = aabb< double, 2 > |
|
using | aabb2f = aabb< float, 2 > |
|
using | aabb2 = aabb< real_number, 2 > |
|
using | aabb3d = aabb< double, 3 > |
|
using | aabb3f = aabb< float, 3 > |
|
using | aabb3 = aabb< real_number, 3 > |
|
template<std::size_t NumDimensions> |
using | Edgeset = edgeset< real_number, NumDimensions > |
|
template<floating_point Real> |
using | Edgeset2 = edgeset< Real, 2 > |
|
template<floating_point Real> |
using | Edgeset3 = edgeset< Real, 3 > |
|
template<floating_point Real> |
using | Edgeset4 = edgeset< Real, 4 > |
|
template<floating_point Real> |
using | Edgeset5 = edgeset< Real, 5 > |
|
using | edgeset2 = Edgeset< 2 > |
|
using | edgeset3 = Edgeset< 3 > |
|
using | edgeset4 = Edgeset< 4 > |
|
using | edgeset5 = Edgeset< 5 > |
|
template<typename T > |
using | Line2 = line< T, 2 > |
|
template<typename T > |
using | Line3 = line< T, 3 > |
|
template<typename T > |
using | Line4 = line< T, 4 > |
|
template<typename T > |
using | Line5 = line< T, 5 > |
|
template<std::size_t NumDimensions> |
using | Line = line< real_number, NumDimensions > |
|
using | line2 = Line< 2 > |
|
using | line3 = Line< 3 > |
|
using | line4 = Line< 4 > |
|
using | line5 = Line< 5 > |
|
template<std::size_t NumDimensions> |
using | Pointset = pointset< real_number, NumDimensions > |
|
using | pointset2 = Pointset< 2 > |
|
using | pointset3 = Pointset< 3 > |
|
using | pointset4 = Pointset< 4 > |
|
using | pointset5 = Pointset< 5 > |
|
template<floating_point Real, std::size_t N> |
using | uniform_rectilinear_grid = detail::rectilinear_grid::creator_t< linspace< Real >, N > |
|
template<std::size_t N> |
using | UniformRectilinearGrid = uniform_rectilinear_grid< real_number, N > |
|
using | uniform_rectilinear_grid2 = UniformRectilinearGrid< 2 > |
|
using | uniform_rectilinear_grid3 = UniformRectilinearGrid< 3 > |
|
using | uniform_rectilinear_grid4 = UniformRectilinearGrid< 4 > |
|
using | uniform_rectilinear_grid5 = UniformRectilinearGrid< 5 > |
|
template<floating_point Real> |
using | UniformRectilinearGrid2 = uniform_rectilinear_grid< Real, 2 > |
|
template<floating_point Real> |
using | UniformRectilinearGrid3 = uniform_rectilinear_grid< Real, 3 > |
|
template<floating_point Real> |
using | UniformRectilinearGrid4 = uniform_rectilinear_grid< Real, 4 > |
|
template<floating_point Real> |
using | UniformRectilinearGrid5 = uniform_rectilinear_grid< Real, 5 > |
|
template<arithmetic Real, std::size_t N> |
using | nonuniform_rectilinear_grid = detail::rectilinear_grid::creator_t< std::vector< Real >, N > |
|
template<std::size_t N> |
using | NonuniformRectilinearGrid = nonuniform_rectilinear_grid< real_number, N > |
|
using | nonuniform_rectilinear_grid2 = NonuniformRectilinearGrid< 2 > |
|
using | nonuniform_rectilinear_grid3 = NonuniformRectilinearGrid< 3 > |
|
using | nonuniform_rectilinear_grid4 = NonuniformRectilinearGrid< 4 > |
|
using | nonuniform_rectilinear_grid5 = NonuniformRectilinearGrid< 5 > |
|
template<arithmetic Real, std::size_t... N> |
using | static_nonuniform_rectilinear_grid = rectilinear_grid< std::array< Real, N >... > |
|
template<std::size_t N> |
using | StaticNonUniformGrid = static_nonuniform_rectilinear_grid< real_number, N > |
|
using | static_nonuniform_rectilinear_grid2 = NonuniformRectilinearGrid< 2 > |
|
using | static_nonuniform_rectilinear_grid3 = NonuniformRectilinearGrid< 3 > |
|
using | static_nonuniform_rectilinear_grid4 = NonuniformRectilinearGrid< 4 > |
|
using | static_nonuniform_rectilinear_grid5 = NonuniformRectilinearGrid< 5 > |
|
template<std::size_t NumDimensions> |
using | StructuredGrid = structured_grid< real_number, NumDimensions > |
|
using | structured_grid2 = StructuredGrid< 2 > |
|
using | structured_grid3 = StructuredGrid< 3 > |
|
template<std::size_t NumDimensions> |
using | UnstructuredGrid = unstructured_grid< real_type, NumDimensions > |
|
template<std::size_t NumDimensions> |
using | UnstructuredGridF = unstructured_grid< float, NumDimensions > |
|
template<std::size_t NumDimensions> |
using | UnstructuredGridD = unstructured_grid< double, NumDimensions > |
|
using | unstructured_grid2 = UnstructuredGrid< 2 > |
|
using | unstructured_grid2f = UnstructuredGridF< 2 > |
|
using | unstructured_grid2d = UnstructuredGridD< 2 > |
|
using | unstructured_grid3 = UnstructuredGrid< 3 > |
|
using | unstructured_grid3f = UnstructuredGridF< 3 > |
|
using | unstructured_grid3d = UnstructuredGridD< 3 > |
|
template<typename Real , std::size_t N> |
using | unstructured_tetrahedral_grid = unstructured_simplicial_grid< Real, N, 3 > |
|
using | unstructured_tetrahedral_grid3 = unstructured_tetrahedral_grid< real_number, 3 > |
|
using | unstructured_tetrahedral_grid4 = unstructured_tetrahedral_grid< real_number, 4 > |
|
using | unstructured_tetrahedral_grid5 = unstructured_tetrahedral_grid< real_number, 5 > |
|
using | unstructured_tetrahedral_grid6 = unstructured_tetrahedral_grid< real_number, 6 > |
|
using | unstructured_tetrahedral_grid7 = unstructured_tetrahedral_grid< real_number, 7 > |
|
template<std::size_t NumDimensions> |
using | UnstructuredTriangularGrid = unstructured_triangular_grid< real_number, NumDimensions > |
|
template<typename Real > |
using | UnstructuredTriangularGrid2 = unstructured_triangular_grid< Real, 2 > |
|
template<typename Real > |
using | UnstructuredTriangularGrid3 = unstructured_triangular_grid< Real, 3 > |
|
template<typename Real > |
using | UnstructuredTriangularGrid4 = unstructured_triangular_grid< Real, 4 > |
|
template<typename Real > |
using | UnstructuredTriangularGrid5 = unstructured_triangular_grid< Real, 5 > |
|
using | unstructured_triangular_grid2 = UnstructuredTriangularGrid< 2 > |
|
using | unstructured_triangular_grid3 = UnstructuredTriangularGrid< 3 > |
|
using | unstructured_triangular_grid4 = UnstructuredTriangularGrid< 4 > |
|
using | unstructured_triangular_grid5 = UnstructuredTriangularGrid< 5 > |
|
template<typename Real , std::size_t NumDimensions> |
using | agranovsky_flowmap_discretization = staggered_flowmap_discretization< regular_flowmap_discretization< Real, NumDimensions > > |
|
template<typename Real > |
using | AgranovskyFlowmapDiscretization2 = agranovsky_flowmap_discretization< Real, 2 > |
|
template<typename Real > |
using | AgranovskyFlowmapDiscretization3 = agranovsky_flowmap_discretization< Real, 3 > |
|
template<std::size_t NumDimensions> |
using | AgranovskyFlowmapDiscretization = agranovsky_flowmap_discretization< real_number, NumDimensions > |
|
using | agranovsky_flowmap_discretization2 = AgranovskyFlowmapDiscretization< 2 > |
|
using | agranovsky_flowmap_discretization3 = AgranovskyFlowmapDiscretization< 3 > |
|
template<std::size_t NumDimensions> |
using | AutonomousParticle = autonomous_particle< real_number, NumDimensions > |
|
template<floating_point Real> |
using | AutonomousParticle2 = autonomous_particle< Real, 2 > |
|
template<floating_point Real> |
using | AutonomousParticle3 = autonomous_particle< Real, 3 > |
|
using | autonomous_particle2 = AutonomousParticle< 2 > |
|
using | autonomous_particle3 = AutonomousParticle< 3 > |
|
template<std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< real_number, NumDimensions>::split_behaviors::three_splits> |
using | AutonomousParticleFlowmapDiscretization = autonomous_particle_flowmap_discretization< real_number, NumDimensions > |
|
template<typename SplitBehavior = typename autonomous_particle< real_number, 2>::split_behaviors::three_splits> |
using | autonomous_particle_flowmap_discretization2 = AutonomousParticleFlowmapDiscretization< 2, SplitBehavior > |
|
template<typename SplitBehavior = typename autonomous_particle< real_number, 3>::split_behaviors::three_splits> |
using | autonomous_particle_flowmap_discretization3 = AutonomousParticleFlowmapDiscretization< 3, SplitBehavior > |
|
template<typename Real , std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< real_number, NumDimensions>::split_behaviors::three_splits> |
using | staggered_autonomous_particle_flowmap_discretization = staggered_flowmap_discretization< autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > > |
|
template<std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< real_number, NumDimensions>::split_behaviors::three_splits> |
using | StaggeredAutonomousParticleFlowmapDiscretization = staggered_autonomous_particle_flowmap_discretization< real_number, NumDimensions, SplitBehavior > |
|
template<typename SplitBehavior = typename autonomous_particle< real_number, 2>::split_behaviors::three_splits> |
using | staggered_autonomous_particle_flowmap_discretization2 = StaggeredAutonomousParticleFlowmapDiscretization< 2, SplitBehavior > |
|
template<typename SplitBehavior = typename autonomous_particle< real_number, 3>::split_behaviors::three_splits> |
using | staggered_autonomous_particle_flowmap_discretization3 = StaggeredAutonomousParticleFlowmapDiscretization< 3, SplitBehavior > |
|
template<typename Real , std::size_t NumDimensions, typename Tensor > |
using | field_list = std::vector< std::unique_ptr< polymorphic::field< Real, NumDimensions, Tensor > > > |
|
template<typename Real , std::size_t NumDimensions, std::size_t C = NumDimensions> |
using | vectorfield_list = field_list< Real, NumDimensions, vec< Real, C > > |
|
template<typename V , typename Real , std::size_t NumDimensions, std::size_t R = NumDimensions, std::size_t C = NumDimensions> |
using | matrixfield = field< V, Real, NumDimensions, mat< Real, R, C > > |
|
template<typename V , typename Real , std::size_t NumDimensions, std::size_t C = NumDimensions> |
using | vectorfield = field< V, Real, NumDimensions, vec< Real, NumDimensions > > |
|
template<typename V , typename Real , std::size_t NumDimensions> |
using | scalarfield = field< V, Real, NumDimensions, Real > |
|
template<typename Field > |
using | field_real_type = typename std::decay_t< std::remove_pointer_t< std::decay_t< Field > > >::real_type |
|
template<typename Field > |
using | field_tensor_type = typename std::decay_t< std::remove_pointer_t< std::decay_t< Field > > >::tensor_type |
|
template<typename Field > |
using | field_pos_type = typename std::decay_t< std::remove_pointer_t< std::decay_t< Field > > >::pos_type |
|
template<arithmetic Real, std::size_t NumDimensions, template< typename, std::size_t > typename ODESolver, template< typename > typename InterpolationKernel> |
using | numerical_flowmap_field_pointer = numerical_flowmap< polymorphic::vectorfield< Real, NumDimensions > *, ODESolver, InterpolationKernel > |
|
template<std::size_t NumDimensions> |
using | Particle = particle< real_number, NumDimensions > |
|
using | particle2 = Particle< 2 > |
|
using | particle3 = Particle< 3 > |
|
using | regular_flowmap_discretization2 = regular_flowmap_discretization< real_number, 2 > |
|
|
template<typename Range , typename RangeIt > |
decltype(auto) | resize_prev_list (Range &range, RangeIt pos, std::size_t new_prev_size) |
|
template<typename Range , typename RangeIt > |
decltype(auto) | resize_next_list (Range &range, RangeIt pos, std::size_t new_next_size) |
|
template<typename T > |
constexpr auto | clamp (const T &v, const T &lo, const T &hi) -> const T & |
|
template<typename T , typename Compare > |
constexpr auto | clamp (const T &v, const T &lo, const T &hi, Compare comp) -> const T & |
|
template<typename T > |
bool | bdsvu (int _n, int _nrhs, const T *_d, const T *_du, T *_b, int _ldb) |
|
template<typename T > |
bool | bdsvl (int _n, int _nrhs, const T *_dl, const T *_d, T *_b, int _ldb) |
|
template<typename T > |
bool | solve_blockwise (int _n, const T *_d, const T *_du, T *_b) |
|
template<typename T > |
void | _planerot (T _c, T _s, T *_x) |
|
template<typename T > |
bool | solve_qr (int _n, T *_d, T *_du, T *_b, T *_null) |
|
template<typename F , typename... Args> |
constexpr auto | bind (F &&f, Args &&... args) |
| Binds first arguments of f (either all or only partially). More...
|
|
template<std::size_t I> |
static auto constexpr | cartesian_axis_label () |
|
static auto constexpr | cartesian_axis_label (std::size_t const i) -> std::string_view |
|
template<typename F , typename GridReal > |
auto | cell_partition (F &&f, const grid< GridReal, 3 > &g) |
| iterates over all cells of the grid in parallel More...
|
|
template<typename F , typename... Param> |
auto | measure (F &&f, Param &&... param) |
|
template<typename... Durations, typename DurationIn > |
auto | break_down_durations (DurationIn d) |
|
template<std::string_view const & S0, std::string_view const & S1, std::size_t... I0s, std::size_t... I1s> |
constexpr std::string_view const & | concat (std::index_sequence< I0s... >, std::index_sequence< I1s... >) |
|
template<std::string_view const & S> |
constexpr std::string_view const & | concat () |
|
template<std::string_view const & S0, std::string_view const & S1> |
constexpr std::string_view const & | concat () |
|
template<std::string_view const & S0, std::string_view const & S1, std::string_view const & S2, std::string_view const &... Ss> |
constexpr std::string_view const & | concat () |
|
template<typename T , size_t N, integral P = int> |
auto | condition_number (tensor< T, N, N > const &A, P const p=2) |
| compute condition number More...
|
|
template<typename Tensor , typename T , size_t N, typename PReal > |
auto | condition_number (base_tensor< Tensor, T, N, N > const &A, PReal p) |
|
auto | type_name (std::type_info const &t) -> std::string |
|
template<typename T > |
auto | type_name (T &&) -> std::string |
| returns demangled typename More...
|
|
template<typename T > |
auto | type_name () -> std::string |
| returns demangled typename More...
|
|
template<typename T > |
auto | type_name (std::string const &name) -> std::string |
| returns demangled typename More...
|
|
auto | finite_differences_coefficients (std::size_t const derivative_order, floating_point auto const ... xs) |
| See What is this? for an explanation. More...
|
|
template<typename Tensor , floating_point Real, std::size_t N> |
auto | finite_differences_coefficients (std::size_t const derivative_order, base_tensor< Tensor, Real, N > const &v) |
| See What is this? for an explanation. More...
|
|
template<typename Tensor , floating_point Real, std::size_t N> |
auto | finite_differences_coefficients (std::size_t const derivative_order, vec< Real, N > const &v) |
| See What is this? for an explanation. More...
|
|
template<floating_point_range R>
requires (!static_tensor<R>) |
auto | finite_differences_coefficients (std::size_t const derivative_order, R const &v) |
| See What is this? for an explanation. More...
|
|
auto | for_loop_num_parallel_threads () |
|
template<typename T > |
auto | create_aligned_data_for_parallel () |
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges> |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::sequential_t, Ranges(&&... ranges)[2]) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges> |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::sequential_t, std::pair< Ranges, Ranges > const &... ranges) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ends> |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::sequential_t, Ends const ... ends) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges>
requires parallel_for_loop_support |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::parallel_t, Ranges(&&... ranges)[2]) -> void |
| Use this function for creating a parallel nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges>
requires parallel_for_loop_support |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::parallel_t, std::pair< Ranges, Ranges > const &... ranges) -> void |
| Use this function for creating a parallel nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ends>
requires parallel_for_loop_support |
constexpr auto | for_loop (Iteration &&iteration, execution_policy::parallel_t, Ends const ... ends) -> void |
| Use this function for creating a parallel nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges> |
constexpr auto | for_loop (Iteration &&iteration, Ranges(&&... ranges)[2]) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ranges> |
constexpr auto | for_loop (Iteration &&iteration, std::pair< Ranges, Ranges > const &... ranges) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Int = std::size_t, typename Iteration , integral... Ends> |
constexpr auto | for_loop (Iteration &&iteration, Ends const ... ends) -> void |
| Use this function for creating a sequential nested loop. More...
|
|
template<typename Iteration , integral Int, std::size_t N> |
auto | for_loop_unpacked (Iteration &&iteration, execution_policy_tag auto policy, std::array< Int, N > const &sizes) |
|
template<typename Iteration , integral Int, std::size_t N> |
auto | for_loop_unpacked (Iteration &&iteration, std::array< Int, N > const &sizes) |
|
template<typename Int = std::size_t, integral... Ends> |
constexpr auto | chunked_for_loop (invocable< decltype(((void) std::declval< Ends >(), std::declval< Int >()))... > auto &&iteration, execution_policy_tag auto policy, integral auto const chunk_size, Ends const ... ends) -> void |
|
template<typename Int = std::size_t, typename Iteration , integral... Ends>
requires invocable<Iteration, decltype((std::declval<Ends>(), std::declval<Int>()))...> |
constexpr auto | chunked_for_loop (Iteration &&iteration, integral auto const chunk_size, Ends const ... ends) -> void |
|
template<integral_pair_range IntPairRange, for_loop_nested_index_iteration< std::vector< common_type< typename std::ranges::range_value_t< IntPairRange >::first_type, typename std::ranges::range_value_t< IntPairRange >::second_type > > > Iteration> |
auto | for_loop (Iteration &&iteration, IntPairRange const &ranges, execution_policy::sequential_t) |
|
template<integral_pair_range IntPairRange, for_loop_nested_index_iteration< std::vector< common_type< typename std::ranges::range_value_t< IntPairRange >::first_type, typename std::ranges::range_value_t< IntPairRange >::second_type > > > Iteration> |
auto | for_loop (Iteration &&iteration, IntPairRange const &ranges, execution_policy_tag auto policy) |
|
template<integral_pair_range IntPairRange, for_loop_nested_index_iteration< std::vector< common_type< typename std::ranges::range_value_t< IntPairRange >::first_type, typename std::ranges::range_value_t< IntPairRange >::second_type > > > Iteration> |
auto | for_loop (Iteration &&iteration, IntPairRange const &ranges) |
|
template<integral_range IntRange, for_loop_nested_index_iteration< IntRange > Iteration> |
auto | for_loop (Iteration &&iteration, IntRange const &begin, IntRange const &ends, execution_policy::sequential_t) |
|
template<integral_range IntRange, for_loop_nested_index_iteration< IntRange > Iteration> |
auto | for_loop (Iteration &&iteration, IntRange const &begin, IntRange const &ends) |
|
template<integral_range IntRange, for_loop_nested_index_iteration< IntRange > Iteration> |
auto | for_loop (Iteration &&iteration, IntRange const &ends, execution_policy_tag auto policy) |
|
template<integral_range IntRange, for_loop_nested_index_iteration< IntRange > Iteration> |
auto | for_loop (Iteration &&iteration, IntRange const &ends) |
|
template<range Range, for_loop_range_iteration< Range > Iteration>
requires (!integral<std::ranges::range_value_t<Range>>) && (!integral_pair<std::ranges::range_value_t<Range>>) |
auto | for_loop (Iteration &&iteration, Range &&r, execution_policy::parallel_t) parallel_for_loop_support |
| Sequential nested loop over a generic range. More...
|
|
template<range Range, for_loop_range_iteration< Range > Iteration>
requires (!integral<std::ranges::range_value_t<Range>>) && (!integral_pair<std::ranges::range_value_t<Range>>) |
auto | for_loop (Iteration &&iteration, Range &&r, execution_policy::sequential_t) |
| Sequential nested loop over a generic range. More...
|
|
template<range Range, for_loop_range_iteration< Range > Iteration>
requires (!integral<std::ranges::range_value_t<Range>>) && (!integral_pair<std::ranges::range_value_t<Range>>) |
auto | for_loop (Iteration &&iteration, Range const &r) |
| Sequential loop over a generic range. More...
|
|
constexpr auto | invoke (invocable auto &&...funcs) |
|
template<typename T > |
| holder (T &&) -> holder< T > |
|
template<typename T > |
| holder (const T &) -> holder< const T & > |
|
template<typename T > |
auto | hold (T &&t) |
|
template<arithmetic Delta = int> |
auto constexpr | huber_loss (floating_point auto const a, Delta const delta=1) |
| See Wikipedia More...
|
|
template<typename F , typename... Params> |
constexpr decltype(auto) | invoke_omitted (F &&f, Params &&... params) |
|
template<size_t i, size_t... is, typename F , typename Param , typename... Params> |
constexpr decltype(auto) | invoke_omitted (F &&f, Param &¶m, Params &&... params) |
|
auto constexpr | invoke_reversed (auto &&f, auto &¶m0) -> decltype(auto) |
|
auto constexpr | invoke_reversed (auto &&f, auto &¶m0, auto &¶m1, auto &&... params) -> decltype(auto) |
|
template<typename F > |
constexpr decltype(auto) | invoke_unpacked (F &&f) |
| All arguments are bound -> just call f. More...
|
|
template<typename F , typename T , typename... Ts> |
constexpr decltype(auto) | invoke_unpacked (F &&f, T &&t, Ts &&... ts) |
| Recursive currying. Curry first non-unpacked type to f. More...
|
|
template<std::size_t... Is, typename F , typename T , typename... Ts> |
constexpr decltype(auto) | invoke_unpacked (std::index_sequence< Is... >, F &&f, unpack< T > t, Ts &&... ts) |
| Curries unpacked parameters by calling invoke_unpacked(F&&, T&&, Ts&&...). More...
|
|
template<typename F , typename T , typename... Ts> |
constexpr decltype(auto) | invoke_unpacked (F &&f, unpack< T > t, Ts &&... ts) |
|
template<typename T , size_t N> |
| unpack (std::array< T, N > &c) -> unpack< std::array< T, N > > |
|
template<typename T , size_t N> |
| unpack (const std::array< T, N > &c) -> unpack< const std::array< T, N > > |
|
template<typename... Ts> |
| unpack (std::tuple< Ts... > &&c) -> unpack< std::tuple< Ts... > > |
|
template<typename... Ts> |
| unpack (const std::tuple< Ts... > &c) -> unpack< const std::tuple< Ts... > > |
|
template<typename A , typename B > |
| unpack (std::pair< A, B > &c) -> unpack< std::pair< A, B > > |
|
template<typename A , typename B > |
| unpack (const std::pair< A, B > &c) -> unpack< const std::pair< A, B > > |
|
template<typename T > |
constexpr auto | is_cacheable () |
|
template<typename T > |
constexpr auto | is_cacheable (T &&) |
|
template<typename Range >
requires requires(Range &&range) { range.begin(); } |
auto | begin (Range &&range) |
|
template<typename Range >
requires requires(Range &&range) { range.end(); } |
auto | end (Range &&range) |
|
template<derived_from_iterator_facade Iter> |
auto | next (Iter iter) |
|
template<derived_from_iterator_facade Iter> |
auto | next (Iter iter, difference_type_arg< Iter > auto off) |
|
template<derived_from_iterator_facade Iter>
requires implements_decrement<Iter> |
auto | prev (Iter iter) |
|
template<derived_from_iterator_facade Iter>
requires implements_decrement<Iter> |
auto | prev (Iter iter, difference_type_arg< Iter > auto off) |
|
template<derived_from_iterator_facade Iter>
requires implements_advance<Iter> |
auto | advance (Iter &iter) |
|
template<derived_from_iterator_facade Iter>
requires implements_advance<Iter> |
auto | advance (Iter &iter, difference_type_arg< Iter > auto off) |
|
template<derived_from_iterator_facade Iter>
requires implements_distance_to<Iter> |
constexpr auto | distance (Iter const &it0, Iter const &it1) |
|
template<derived_from_iterator_facade Iter>
requires implements_distance_to<Iter> |
constexpr auto | distance (Iter const &it0, iter_sentinel_arg< Iter > auto const &it1) |
|
template<derived_from_iterator_facade Iter>
requires implements_distance_to<Iter> |
constexpr auto | distance (iter_sentinel_arg< Iter > auto const &it0, Iter const &it1) |
|
template<floating_point Real> |
auto | front (linspace< Real > const &l) |
|
template<floating_point Real> |
auto | front (linspace< Real > &l) -> auto & |
|
template<floating_point Real> |
auto | back (linspace< Real > const &l) |
|
template<floating_point Real> |
auto | back (linspace< Real > &l) -> auto & |
|
template<arithmetic Real0, arithmetic Real1> |
| linspace (Real0 const, Real1 const, std::size_t const) -> linspace< common_type< Real0, Real1 > > |
|
template<floating_point Real> |
auto | operator<< (std::ostream &out, linspace< Real > const &l) -> auto & |
|
template<typename T , size_t... Is> |
constexpr auto | make_array (T &&default_data, std::index_sequence< Is... >) |
|
template<typename T , typename... Data> |
constexpr auto | make_array (Data &&... data) |
|
template<typename T , size_t N> |
constexpr auto | make_array () |
|
template<size_t N, typename T > |
constexpr auto | make_array (T &&default_data) |
|
template<typename T , size_t N> |
constexpr auto | make_array (std::array< T, N > const &data) |
|
template<typename... Ts, typename F > |
auto constexpr | map (F &&f, Ts &&... ts) |
| maps unary function f to all single parameters of parameter pack ts More...
|
|
template<typename A , typename B >
requires same_as<std::decay_t<A>, std::decay_t<B>> |
constexpr auto | min (A &&a, B &&b) |
|
template<typename A , typename B >
requires same_as<std::decay_t<A>, std::decay_t<B>> |
constexpr auto | max (A &&a, B &&b) |
|
constexpr auto | log (arithmetic auto const x) |
|
constexpr auto | log2 (arithmetic auto const x) |
|
constexpr auto | abs (arithmetic auto const x) |
|
constexpr auto | sin (arithmetic auto const x) |
|
constexpr auto | cos (arithmetic auto const x) |
|
constexpr auto | sqrt (arithmetic auto const x) |
|
constexpr auto | pow (arithmetic auto const x) |
|
template<template< typename > typename Comparator, typename T0 , typename T1 , typename... TRest>
requires requires(T0 a, T1 b, Comparator<std::decay_t<T0>> comp) { { comp(a, b) } -> std::convertible_to<bool>; } && same_as<std::decay_t<T0>, std::decay_t<T1>> && (same_as<std::decay_t<T0>, std::decay_t<TRest>> && ...) |
constexpr auto | compare_variadic (T0 &&a, T1 &&b, TRest &&... rest) |
|
template<typename T0 > |
constexpr auto | max (T0 &&a) -> decltype(auto) |
|
template<typename T0 , typename T1 , typename T2 , typename... TRest>
requires requires(T0&& a, T1&& b) { { a > b } -> std::convertible_to<bool>; } |
constexpr auto | max (T0 &&a, T1 &&b, T2 &&c, TRest &&... rest) -> decltype(auto) |
|
template<typename T0 , typename T1 , typename T2 , typename... TRest>
requires requires(T0&& a, T1&& b) { { a > b } -> std::convertible_to<bool>; } |
constexpr auto | min (T0 &&a, T1 &&b, T2 &&c, TRest &&... rest) -> decltype(auto) |
|
template<typename T , std::size_t N, std::size_t... Is> |
constexpr auto | min (std::array< T, N > const &arr, std::index_sequence< Is... >) |
|
template<typename T , std::size_t N> |
constexpr auto | min (std::array< T, N > const &arr) |
|
template<typename T , std::size_t N, std::size_t... Is> |
constexpr auto | max (std::array< T, N > const &arr, std::index_sequence< Is... >) |
|
template<typename T , std::size_t N> |
constexpr auto | max (std::array< T, N > const &arr) |
|
constexpr auto | ipow (integral auto const base, integral auto const exp) |
|
template<integral Int> |
constexpr auto | factorial (Int const i) -> std::decay_t< Int > |
|
size_t | total_memory () |
| Total amount of RAM in kB. More...
|
|
auto | memory_usage () |
|
template<typename Real > |
auto | delaunay (const pointset< 2, Real > &ps) |
|
template<typename Real > |
auto | delaunay (const pointset< 2, Real > &ps, const std::vector< typename pointset< 2, Real >::vertex > &vertices) |
|
template<typename Real > |
auto | constrained_delaunay (const edgeset< 2, Real > &es) |
|
template<typename Real > |
auto | constrained_delaunay (const pointset< 2, Real > &ps, const std::vector< typename pointset< 2, Real >::vertex > &polygon) |
|
template<typename Real > |
auto | conforming_delaunay (const edgeset< 2, Real > &es, triangle::real_type minangle=0, triangle::real_type maxarea=0) |
|
template<floating_point Float = real_number> |
auto | nan (const char *arg="") |
|
template<typename Real , size_t N, size_t... Is> |
auto | newton_raphson (const symbolic::field< Real, N, N > &v, typename symbolic::field< Real, N, N >::pos_type x, Real t, size_t n, double precision, std::index_sequence< Is... >) |
|
template<typename Real , size_t N> |
auto | newton_raphson (const symbolic::field< Real, N, N > &v, typename symbolic::field< Real, N, N >::pos_type x, Real t, size_t n, double precision=1e-10) |
|
template<typename Real > |
auto | parse (std::string const &) -> Real |
|
template<typename... Coeffs> |
| polynomial (Coeffs... coeffs) -> polynomial< common_type< Coeffs... >, sizeof...(Coeffs) - 1 > |
|
template<typename Real , std::size_t N> |
| polynomial (tensor< Real, N > const &) -> polynomial< Real, N - 1 > |
|
template<typename Real , std::size_t Degree> |
constexpr auto | diff (polynomial< Real, Degree > const &f) |
|
template<typename Real > |
auto | solve (polynomial< Real, 1 > const &p) -> std::vector< Real > |
| solve a + b*x More...
|
|
template<typename Real > |
auto | solve (polynomial< Real, 2 > const &p) -> std::vector< Real > |
| solve a + b*x + c*x^2 More...
|
|
template<typename Real > |
auto | solve (polynomial< Real, 3 > const &f) |
|
template<typename Real > |
auto | solve (polynomial< Real, 4 > const &f) -> std::vector< Real > |
|
template<typename Real , std::size_t Degree> |
auto & | operator<< (std::ostream &out, polynomial< Real, Degree > const &f) |
|
template<typename... Polynomials> |
| polynomial_line (Polynomials &&...) -> polynomial_line< common_type< typename Polynomials::real_type... >, sizeof...(Polynomials), max(Polynomials::degree()...)> |
|
template<typename Real , std::size_t N, std::size_t Degree> |
auto | operator<< (std::ostream &out, const polynomial_line< Real, N, Degree > &line) -> std::ostream & |
|
template<std::integral Int> |
constexpr auto | pow (Int x, std::unsigned_integral auto const p) -> Int |
|
auto | make_default_indeterminate_progress_bar () |
|
auto | make_indeterminate_completion_thread (auto &indicator) |
|
template<typename F , typename... Args>
requires is_invocable<F, Args...> |
auto | indeterminate_progress_bar (F &&f, Args &&...args) -> decltype(auto) |
|
template<typename F , typename... Args>
requires is_invocable<F, indicator_msg<indicators::IndeterminateProgressBar>, Args...> && is_void<invoke_result< F, indicator_msg<indicators::IndeterminateProgressBar>, Args...>> |
auto | indeterminate_progress_bar (F &&f, Args &&...args) |
|
template<typename F , typename... Args>
requires is_invocable<F, indicator_msg<indicators::IndeterminateProgressBar>, Args...> && (!is_void<invoke_result< F, indicator_msg<indicators::IndeterminateProgressBar>, Args...>>) |
auto | indeterminate_progress_bar (F &&f, Args &&...args) -> decltype(auto) |
|
template<typename F , typename... Args>
requires std::invocable< F, progress_indicator_wrapper<indicators::BlockProgressBar>, Args...> |
auto | progress_bar (F &&f, Args &&...args) -> decltype(auto) |
|
template<arithmetic_or_complex Scalar> |
constexpr auto | rank () |
|
template<arithmetic_or_complex Scalar> |
constexpr auto | rank (Scalar &&) |
|
template<static_tensor Tensor> |
constexpr auto | rank (Tensor &&) |
|
template<template< typename > typename Comparator = std::less, typename InitialStatus , typename EnergyFunction , typename TemperaturFunction , typename NeighborFunction , typename RandomEngine > |
auto | simulated_annealing (InitialStatus &&initial_status, size_t const num_iterations, EnergyFunction &&energy_fun, TemperaturFunction &&temperature_fun, NeighborFunction &&neighbor_fun, RandomEngine &&random_engine, std::vector< simulated_annealing_listener< std::decay_t< decltype(energy_fun(std::declval< InitialStatus >()))>, std::decay_t< InitialStatus > > * > const &listeners={}) |
|
template<typename Data > |
constexpr Data | swap_endianess (Data data) |
|
template<typename Data > |
constexpr void | swap_endianess (Data *data, size_t n) |
|
template<typename Data > |
void | swap_endianess (std::vector< Data > &data) |
|
constexpr auto | opposite (forward_tag const) |
|
constexpr auto | opposite (backward_tag const) |
|
auto constexpr | operator== (forward_tag const, backward_tag const) |
|
auto constexpr | operator== (backward_tag const, forward_tag const) |
|
auto constexpr | operator== (forward_tag const, forward_tag const) |
|
auto constexpr | operator== (backward_tag const, backward_tag const) |
|
auto | operator!= (forward_or_backward_tag auto const lhs, forward_or_backward_tag auto const rhs) |
|
template<std::size_t N = 1> |
auto constexpr | diff (decltype(thin_plate_spline) const &) |
|
template<std::size_t N = 1> |
auto constexpr | diff (decltype(thin_plate_spline_diff1) const &) |
|
template<std::size_t N = 1> |
auto constexpr | diff (decltype(thin_plate_spline_diff2) const &) |
|
template<typename Head , typename... Tail> |
| tuple (Head &&, Tail &&...) -> tuple< std::decay_t< Head >, std::decay_t< Tail >... > |
|
template<typename Head > |
| tuple (Head &&) -> tuple< std::decay_t< Head > > |
|
template<std::size_t Idx, typename... Ts> |
constexpr auto | get (tuple< Ts... > const &t) -> auto const & |
|
template<std::size_t Idx, typename... Ts> |
constexpr auto | get (tuple< Ts... > &t) -> auto & |
|
template<typename Data > |
constexpr auto | type_to_str () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< double > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< long double > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< float > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< int > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< unsigned int > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< long > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< unsigned long > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< long long > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< unsigned long long > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< char > () -> std::string_view |
|
template<> |
constexpr auto | type_to_str< unsigned char > () -> std::string_view |
|
template<typename T , std::size_t = sizeof(T)> |
auto | type_exists_impl (T *) -> std::true_type |
|
auto | type_exists_impl (...) -> std::false_type |
|
template<size_t Omit, size_t... Is, size_t... Js> |
constexpr auto | sliced_indices (std::index_sequence< Is... >, std::index_sequence< Js... >) |
| creates an index_sequence and removes an element from it More...
|
|
template<size_t N, size_t Omit> |
constexpr auto | sliced_indices () |
| creates an index sequence and removes an element from it More...
|
|
template<typename F , typename... Ts> |
constexpr void | for_each (F &&f, Ts &&... ts) |
|
template<size_t N> |
auto | partition_resolution (const std::array< size_t, N > &resolution, const std::array< size_t, N > &max_chunk_resolution) |
|
constexpr auto | debug_mode () |
|
constexpr auto | release_mode () |
|
template<typename T > |
constexpr void | tat_swap (T &t0, T &t1) |
|
template<typename F , typename... Args> |
auto | repeat (size_t const n, F &&f, Args &&... args) |
|
auto | copy_or_keep_if_rvalue (auto &&x) -> decltype(auto) |
|
auto | reorder (std::ranges::range auto &data, std::ranges::range auto &order) -> void |
| reorders a range data with another range order More...
|
|
template<typename Visitor , typename Variant0 , typename Variant1 , typename... Variants> |
constexpr auto | visit (Visitor &&visitor, Variant0 &&variant0, Variant1 &&variant1, Variants &&... variants) -> void |
|
template<arithmetic T> |
void | write_png (filesystem::path const &path, std::vector< T > const &data, std::size_t width, std::size_t height) |
|
template<typename ValueType , typename IndexOrder > |
| dynamic_multidim_array (dynamic_multidim_array< ValueType, IndexOrder > const &) -> dynamic_multidim_array< ValueType, IndexOrder > |
|
template<typename ValueType , typename IndexOrder > |
| dynamic_multidim_array (dynamic_multidim_array< ValueType, IndexOrder > &&) -> dynamic_multidim_array< ValueType, IndexOrder > |
|
template<typename ValueType , typename UInt > |
| dynamic_multidim_array (std::vector< UInt > const &, ValueType const &initial) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename ValueType , typename UInt > |
| dynamic_multidim_array (std::vector< UInt > const &, std::vector< ValueType > const &) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename ValueType , typename UInt > |
| dynamic_multidim_array (std::vector< UInt > const &, std::vector< ValueType > &&) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename ValueType , typename UInt , std::size_t N> |
| dynamic_multidim_array (std::array< UInt, N > const &, ValueType const &initial) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename ValueType , typename UInt , std::size_t N> |
| dynamic_multidim_array (std::array< UInt, N > const &, std::vector< ValueType > const &) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename ValueType , typename UInt , std::size_t N> |
| dynamic_multidim_array (std::array< UInt, N > const &, std::vector< ValueType > &&) -> dynamic_multidim_array< ValueType, x_fastest > |
|
template<typename IndexingOut = x_fastest, typename T0 , typename T1 , typename Indexing0 , typename Indexing1 , typename FReal > |
auto | interpolate (dynamic_multidim_array< T0, Indexing0 > const &arr0, dynamic_multidim_array< T1, Indexing1 > const &arr1, FReal factor) |
|
template<typename IndexingOut = x_fastest, typename T0 , typename T1 , typename Indexing0 , typename Indexing1 , typename LinReal , typename TReal > |
auto | interpolate (dynamic_multidim_array< T0, Indexing0 > const &arr0, dynamic_multidim_array< T1, Indexing1 > const &arr1, linspace< LinReal > const &ts, TReal t) |
|
template<arithmetic Real> |
void | write_png (dynamic_multidim_array< Real > const &arr, std::string const &filepath) |
|
| dynamic_multidim_size () -> dynamic_multidim_size< x_fastest > |
|
template<typename IndexOrder > |
| dynamic_multidim_size (dynamic_multidim_size< IndexOrder > const &) -> dynamic_multidim_size< IndexOrder > |
|
template<typename IndexOrder > |
| dynamic_multidim_size (dynamic_multidim_size< IndexOrder > &&) -> dynamic_multidim_size< IndexOrder > |
|
template<typename... Resolution> |
| dynamic_multidim_size (Resolution...) -> dynamic_multidim_size< x_fastest > |
|
template<typename MemLocOut = stack, typename IndexingOut = x_fastest, typename T0 , typename T1 , typename Indexing0 , typename Indexing1 , typename MemLoc0 , typename MemLoc1 , typename FReal , std::size_t... Resolution> |
auto | interpolate (static_multidim_array< T0, Indexing0, MemLoc0, Resolution... > const &arr0, static_multidim_array< T1, Indexing1, MemLoc1, Resolution... > const &arr1, FReal factor) |
|
template<typename MemLocOut = stack, typename IndexingOut = x_fastest, typename T0 , typename T1 , typename Indexing0 , typename Indexing1 , typename MemLoc0 , typename MemLoc1 , typename LinReal , typename TReal , std::size_t... Resolution> |
auto | interpolate (static_multidim_array< T0, Indexing0, MemLoc0, Resolution... > const &arr0, static_multidim_array< T1, Indexing1, MemLoc1, Resolution... > const &arr1, linspace< LinReal > const &ts, TReal t) |
|
template<typename Tensor , typename T , size_t... Dims> |
auto | imag (base_tensor< Tensor, std::complex< T >, Dims... > const &tensor) |
|
template<typename Tensor , typename T , size_t... Dims> |
auto | imag (base_tensor< Tensor, std::complex< T >, Dims... > &tensor) |
|
template<typename Tensor , typename T , size_t... Dims> |
auto | real (base_tensor< Tensor, std::complex< T >, Dims... > const &t) |
|
template<typename Tensor , typename T , size_t... Dims> |
auto | real (base_tensor< Tensor, std::complex< T >, Dims... > &t) |
|
template<static_vec Tensor> |
| diag_static_tensor (Tensor const &t) -> diag_static_tensor< Tensor const &, Tensor::dimension(0), Tensor::dimension(0)> |
|
template<static_vec Tensor> |
| diag_static_tensor (Tensor &t) -> diag_static_tensor< Tensor &, Tensor::dimension(0), Tensor::dimension(0)> |
|
template<static_vec Tensor> |
| diag_static_tensor (Tensor &&t) -> diag_static_tensor< std::decay_t< Tensor >, Tensor::dimension(0), Tensor::dimension(0)> |
|
constexpr auto | diag (static_vec auto &&t) |
|
template<std::size_t M, std::size_t N> |
constexpr auto | diag_rect (static_vec auto &&t) |
|
template<typename Tensor , std::size_t N> |
constexpr auto | inv (diag_static_tensor< Tensor, N, N > const &A) -> std::optional< diag_static_tensor< vec< tatooine::value_type< Tensor >, N >, N, N > > |
|
template<typename TensorA , static_vec TensorB, std::size_t N>
requires (tensor_dimensions<TensorB>[0] == N) |
constexpr auto | solve (diag_static_tensor< TensorA, N, N > const &A, TensorB &&b) -> std::optional< vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > >, N > > |
|
template<typename TensorA , static_vec TensorB, std::size_t N>
requires (tensor_dimensions<TensorB>[0] == N) |
constexpr auto | solve (diag_static_tensor< TensorA, N, N > &&A, TensorB &&b) -> std::optional< vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > >, N > > |
|
template<typename TensorA , std::size_t M, std::size_t N> |
constexpr auto | operator* (diag_static_tensor< TensorA, M, N > const &A, static_vec auto const &b) -> vec< common_type< tatooine::value_type< TensorA >, tatooine::value_type< decltype(b)> >, M > requires(N==decltype(b)::dimension(0)) |
|
template<typename TensorA , std::size_t M, std::size_t N>
requires (N == std::decay_t<decltype(B)>::dimension( 0)) |
constexpr auto | operator* (diag_static_tensor< TensorA, M, N > const &A, static_mat auto const &B) |
|
template<typename TensorA , std::size_t M, std::size_t N>
requires (std::decay_t<decltype(B)>::dimension(1) == M) |
constexpr auto | operator* (static_tensor auto const &B, diag_static_tensor< TensorA, M, N > const &A) |
|
template<dynamic_tensor Tensor> |
| diag_dynamic_tensor (Tensor const &t) -> diag_dynamic_tensor< Tensor const & > |
|
template<dynamic_tensor Tensor> |
| diag_dynamic_tensor (Tensor &t) -> diag_dynamic_tensor< Tensor & > |
|
template<dynamic_tensor Tensor> |
| diag_dynamic_tensor (Tensor &&t) -> diag_dynamic_tensor< std::decay_t< Tensor > > |
|
auto | diag (dynamic_tensor auto &&A) |
|
template<dynamic_tensor Lhs, dynamic_tensor Rhs>
requires diag_tensor<Lhs> |
auto | operator* (Lhs const &lhs, Rhs const &rhs) -> tensor< common_type< tatooine::value_type< Lhs >, tatooine::value_type< Rhs > > > |
|
template<typename... Rows, std::size_t N> |
| tensor (Rows(&&... rows)[N]) -> tensor< common_type< Rows... > > |
|
template<typename... Ts> |
| tensor (Ts...) -> tensor< common_type< Ts... > > |
|
template<dynamic_tensor Tensor> |
| tensor (Tensor &&) -> tensor< value_type< Tensor > > |
|
template<std::size_t C, typename... Rows> |
| mat (Rows const(&&... rows)[C]) -> mat< common_type< Rows... >, sizeof...(Rows), C > |
|
template<typename Mat , typename ValueType , std::size_t M, std::size_t N> |
| mat (base_tensor< Mat, ValueType, M, N >) -> mat< ValueType, M, N > |
|
template<typename CastReal , typename Real , size_t N> |
auto | cast_tensor_type_impl (const vec< Real, N > &) |
|
template<typename CastReal , typename Real , size_t M, size_t N> |
auto | cast_tensor_type_impl (const mat< Real, M, N > &) |
|
template<typename CastReal , typename Real , size_t... Dims> |
auto | cast_tensor_type_impl (const tensor< Real, Dims... > &) |
|
template<typename NewReal , typename Tensor , typename Real , size_t... Dims> |
auto | cast (const base_tensor< Tensor, Real, Dims... > &to_cast) |
|
template<typename NewReal , typename Real , size_t M, size_t N> |
auto | cast (const mat< Real, M, N > &to_cast) |
|
template<typename NewReal , typename Real , size_t N> |
auto | cast (const vec< Real, N > &to_cast) |
|
template<typename Tensor , typename T , size_t N> |
auto | operator<< (std::ostream &out, const base_tensor< Tensor, T, N > &v) -> auto & |
| printing vector More...
|
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | operator<< (std::ostream &out, const base_tensor< Tensor, T, M, N > &m) -> auto & |
|
auto | operator<< (std::ostream &out, dynamic_tensor auto const &t) -> auto & |
| printing dynamic tensors More...
|
|
template<typename Tensor0 , typename Tensor1 , typename T0 , typename T1 , std::size_t N> |
constexpr auto | cos_angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1) |
| Returns the cosine of the angle of two normalized vectors. More...
|
|
template<typename Tensor , typename TensorT , std::size_t... Dims> |
constexpr auto | abs (base_tensor< Tensor, TensorT, Dims... > const &t) |
|
template<typename Tensor0 , typename Tensor1 , typename T0 , typename T1 , std::size_t N> |
constexpr auto | angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1) |
| Returns the angle of two normalized vectors. More...
|
|
template<typename Tensor0 , typename Tensor1 , typename T0 , typename T1 , std::size_t N> |
constexpr auto | min_angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1) |
| Returns the angle of two normalized vectors. More...
|
|
template<typename Tensor0 , typename Tensor1 , typename T0 , typename T1 , std::size_t N> |
constexpr auto | max_angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1) |
| Returns the angle of two normalized vectors. More...
|
|
template<typename Tensor0 , typename Tensor1 , typename Tensor2 , typename T0 , typename T1 , typename T2 , std::size_t N> |
constexpr auto | cos_angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1, base_tensor< Tensor2, T2, N > const &v2) |
| Returns the cosine of the angle three points. More...
|
|
template<typename Tensor0 , typename Tensor1 , typename Tensor2 , typename T0 , typename T1 , typename T2 , std::size_t N> |
constexpr auto | angle (base_tensor< Tensor0, T0, N > const &v0, base_tensor< Tensor1, T1, N > const &v1, base_tensor< Tensor2, T2, N > const &v2) |
| Returns the cosine of the angle three points. More...
|
|
template<typename Tensor , typename T , std::size_t... Dims> |
constexpr auto | min (base_tensor< Tensor, T, Dims... > const &t) |
|
template<typename Tensor , typename T , std::size_t... Dims> |
constexpr auto | max (base_tensor< Tensor, T, Dims... > const &t) |
|
template<typename Tensor , typename T , std::size_t N> |
constexpr auto | normalize (base_tensor< Tensor, T, N > const &t_in) -> vec< T, N > |
|
template<typename Tensor , typename T , std::size_t VecDim> |
constexpr auto | sum (base_tensor< Tensor, T, VecDim > const &v) |
| sum of all components of a vector More...
|
|
template<typename Tensor0 , typename T0 , typename Tensor1 , typename T1 , std::size_t N> |
constexpr auto | dot (base_tensor< Tensor0, T0, N > const &lhs, base_tensor< Tensor1, T1, N > const &rhs) |
|
template<typename T0 , typename T1 > |
constexpr auto | reflect (vec< T0, 3 > const &incidentVec, vec< T1, 3 > const &normal) |
|
template<typename Tensor , typename TensorT , std::size_t... Dims> |
constexpr auto | sqrt (base_tensor< Tensor, TensorT, Dims... > const &t) |
|
constexpr auto | sqrt (dynamic_tensor auto &&t) |
|
template<typename F , static_tensor Lhs, static_tensor Rhs, std::size_t... Seq>
requires (same_dimensions<Lhs, Rhs>()) |
constexpr auto | binary_operation (F &&f, Lhs const &lhs, Rhs const &rhs, std::index_sequence< Seq... >) |
|
template<typename F , static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
constexpr auto | binary_operation (F &&f, Lhs const &lhs, Rhs const &rhs) |
|
template<typename Tensor0 , typename T0 , typename Tensor1 , typename T1 > |
constexpr auto | cross (base_tensor< Tensor0, T0, 3 > const &lhs, base_tensor< Tensor1, T1, 3 > const &rhs) |
|
template<typename T0 , typename T1 > |
constexpr auto | cross (tensor< T0 > const &lhs, tensor< T1 > const &rhs) |
|
template<typename Tensor , typename T > |
constexpr auto | det (base_tensor< Tensor, T, 2, 2 > const &A) -> T |
|
template<typename Tensor , typename T > |
constexpr auto | detAtA (base_tensor< Tensor, T, 2, 2 > const &A) -> T |
|
template<typename Tensor , typename T > |
constexpr auto | det (base_tensor< Tensor, T, 3, 3 > const &A) -> T |
|
template<typename Tensor0 , typename T0 , typename Tensor1 , typename T1 , std::size_t N> |
constexpr auto | squared_euclidean_distance (base_tensor< Tensor0, T0, N > const &lhs, base_tensor< Tensor1, T1, N > const &rhs) |
|
template<typename Tensor0 , typename T0 , typename Tensor1 , typename T1 , std::size_t N> |
constexpr auto | euclidean_distance (base_tensor< Tensor0, T0, N > const &lhs, base_tensor< Tensor1, T1, N > const &rhs) |
|
template<static_quadratic_mat Mat> |
auto | eigenvectors_sym (Mat &&A) |
|
template<fixed_size_quadratic_mat< 2 > Mat> |
constexpr auto | eigenvalues_sym (Mat &&A) |
|
template<static_quadratic_mat Mat> |
constexpr auto | eigenvalues (Mat &&A) |
|
template<static_quadratic_mat Mat> |
auto | eigenvectors (Mat &&B) |
|
template<fixed_size_quadratic_mat< 2 > Mat> |
constexpr auto | inv_sym (Mat &&A) -> std::optional< mat< tatooine::value_type< Mat >, 2, 2 > > |
|
template<fixed_size_quadratic_mat< 2 > Mat> |
constexpr auto | inv (Mat &&A) -> std::optional< mat< tatooine::value_type< Mat >, 2, 2 > > |
|
template<typename Tensor , typename T , size_t N> |
constexpr auto | squared_euclidean_length (base_tensor< Tensor, T, N > const &t_in) |
|
template<typename Tensor , typename T , size_t N> |
constexpr auto | euclidean_length (base_tensor< Tensor, T, N > const &t_in) -> T |
|
template<typename Tensor , typename T , std::size_t N> |
constexpr auto | norm_inf (base_tensor< Tensor, T, N > const &t) -> T |
|
template<typename Tensor , typename T , std::size_t N> |
constexpr auto | norm1 (base_tensor< Tensor, T, N > const &t) |
|
template<typename Tensor , typename T , std::size_t N> |
constexpr auto | norm (base_tensor< Tensor, T, N > const &t, unsigned p=2) -> T |
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | squared_norm (base_tensor< Tensor, T, M, N > const &A, unsigned int const p) |
| squared p-norm of a rank-2 tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | norm (base_tensor< Tensor, T, M, N > const &A, unsigned int const p) |
| p-norm of a rank-2 tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | squared_norm (base_tensor< Tensor, T, M, N > const &mat, tag::frobenius_t) |
| squared Frobenius norm of a rank-2 tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | norm (base_tensor< Tensor, T, M, N > const &mat, tag::frobenius_t) |
| Frobenius norm of a rank-2 tensor. More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | norm1 (base_tensor< Tensor, T, M, N > const &mat) |
| 1-norm of a MxN Tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | norm_inf (base_tensor< Tensor, T, M, N > const &mat) |
| infinity-norm of a MxN tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | squared_norm (base_tensor< Tensor, T, M, N > const &mat) |
| squared Frobenius norm of a rank-2 tensor More...
|
|
template<typename Tensor , typename T , std::size_t M, std::size_t N> |
constexpr auto | norm (base_tensor< Tensor, T, M, N > const &mat) |
| squared Frobenius norm of a rank-2 tensor More...
|
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
auto constexpr | operator== (Lhs const &lhs, Rhs const &rhs) |
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
auto constexpr | operator!= (Lhs const &lhs, Rhs const &rhs) |
|
auto constexpr | operator- (static_tensor auto const &t) |
|
auto constexpr | operator+ (static_tensor auto const &lhs, arithmetic_or_complex auto const scalar) |
|
template<static_mat Lhs, static_mat Rhs>
requires (Lhs::dimension(1) == Rhs::dimension(0)) |
auto constexpr | operator* (Lhs const &lhs, Rhs const &rhs) |
| matrix-matrix multiplication More...
|
|
template<static_vec Lhs, static_mat Rhs>
requires (Lhs::dimension(0) == Rhs::dimension(0)) |
auto constexpr | operator* (Lhs const &lhs, Rhs const &rhs) |
| vector-matrix-multiplication More...
|
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>() && Lhs::rank() != 2 && Rhs::rank() != 2) |
auto constexpr | operator* (Lhs const &lhs, Rhs const &rhs) |
| component-wise multiplication More...
|
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
auto constexpr | operator/ (Lhs const &lhs, Rhs const &rhs) |
| component-wise division More...
|
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
auto constexpr | operator+ (Lhs const &lhs, Rhs const &rhs) |
| component-wise addition More...
|
|
template<static_tensor Lhs, static_tensor Rhs>
requires (same_dimensions<Lhs, Rhs>()) |
auto constexpr | operator- (Lhs const &lhs, Rhs const &rhs) |
| component-wise subtraction More...
|
|
auto constexpr | operator* (static_tensor auto const &t, arithmetic_or_complex auto const scalar) |
|
auto constexpr | operator* (arithmetic_or_complex auto const scalar, static_tensor auto const &t) |
|
auto constexpr | operator/ (static_tensor auto const &t, arithmetic_or_complex auto const scalar) |
|
auto constexpr | operator/ (arithmetic_or_complex auto const scalar, static_tensor auto const &t) |
|
template<dynamic_tensor Lhs, dynamic_tensor Rhs> |
auto | operator* (Lhs const &lhs, Rhs const &rhs) |
|
template<static_tensor A, static_tensor B> |
auto constexpr | same_dimensions () |
|
auto constexpr | same_dimensions (static_tensor auto const &A, static_tensor auto const &B) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd (base_tensor< Tensor, T, M, N > const &A_base, tag::full_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd (base_tensor< Tensor, T, M, N > const &A_base, tag::economy_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd (base_tensor< Tensor, T, M, N > const &A) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_left (base_tensor< Tensor, T, M, N > const &A_base, tag::full_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_left (base_tensor< Tensor, T, M, N > const &A_base, tag::economy_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_left (base_tensor< Tensor, T, M, N > const &A) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_right (base_tensor< Tensor, T, M, N > const &A_base, tag::full_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_right (base_tensor< Tensor, T, M, N > const &A_base, tag::economy_t[> tag<]) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
auto | svd_right (base_tensor< Tensor, T, M, N > const &A) |
|
template<typename Tensor , typename T > |
constexpr auto | singular_values22 (base_tensor< Tensor, T, 2, 2 > const &A) |
|
template<typename T , size_t M, size_t N> |
constexpr auto | singular_values (tensor< T, M, N > &&A) |
|
template<typename Tensor , typename T , size_t M, size_t N> |
constexpr auto | singular_values (base_tensor< Tensor, T, M, N > const &A_base) |
|
auto | copy_or_keep_if_rvalue_tensor_solve (dynamic_tensor auto &&x) -> decltype(auto) |
|
template<typename T > |
auto | copy_or_keep_if_rvalue_tensor_solve (tensor< T > &&x) -> decltype(auto) |
|
template<typename T , std::size_t... Dims> |
auto | copy_or_keep_if_rvalue_tensor_solve (tensor< T, Dims... > &&x) -> decltype(auto) |
|
template<typename T > |
auto | copy_or_keep_if_rvalue_tensor_solve (tensor< T > const &x) |
|
template<typename T , std::size_t... Dims> |
auto | copy_or_keep_if_rvalue_tensor_solve (tensor< T, Dims... > const &x) |
|
template<fixed_size_quadratic_mat< 2 > MatA, static_mat MatB>
requires (tensor_dimension<MatB, 0> == 2) |
auto constexpr | solve_direct (MatA &&A, MatB &&B) |
|
template<fixed_size_mat< 2, 2 > MatA, fixed_size_vec< 2 > VecB> |
auto | solve_direct (MatA &&A, VecB &&b) -> std::optional< vec< common_type< tatooine::value_type< MatA >, tatooine::value_type< VecB > >, 2 > > |
|
template<static_quadratic_mat MatA, static_vec VecB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<VecB, 0>) |
auto | solve_cramer (MatA const &A, VecB const &b) -> std::optional< vec< common_type< tatooine::value_type< MatA >, tatooine::value_type< VecB > >, tensor_dimension< MatA, 1 > > > |
|
template<static_quadratic_mat MatA, static_vec VecB>
requires (tensor_dimension<MatA, 1> == tensor_dimension<VecB, 0>) |
auto | solve_lu_lapack (MatA &A_, VecB &&b_) -> std::optional< tensor< common_type< tatooine::value_type< MatA >, tatooine::value_type< VecB > > > > |
|
template<static_quadratic_mat MatA, static_mat MatB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<MatB, 0>) |
auto | solve_lu_lapack (MatA &A_, MatB &B_) |
|
template<static_mat MatA, static_mat MatB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<MatB, 0>) |
auto | solve_qr_lapack (MatA &&A_, MatB &&B_) |
|
template<static_mat MatA, static_vec VecB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<VecB, 0>) |
auto | solve_qr_lapack (MatA &&A_, VecB &&b_) |
|
template<static_mat MatA, static_mat MatB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<MatB, 0>) |
auto | solve (MatA &&A, MatB &&B) |
|
template<dynamic_tensor TensorA, dynamic_tensor TensorB> |
auto | solve_lu_lapack (TensorA &&A_, TensorB &&B_) -> std::optional< tensor< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > > > > |
|
template<dynamic_tensor TensorA, dynamic_tensor TensorB> |
auto | solve_qr_lapack (TensorA &&A_, TensorB &&B_) -> std::optional< tensor< common_type< tatooine::value_type< TensorA >, tatooine::value_type< TensorB > > > > |
|
template<static_mat MatA, static_vec VecB>
requires (tensor_dimension<MatA, 0> == tensor_dimension<VecB, 0>) |
auto | solve (MatA &&A, VecB &&b) |
|
template<dynamic_tensor TensorA, dynamic_tensor TensorB> |
auto | solve_symmetric_lapack (TensorA &&A_, TensorB &&B_, lapack::uplo uplo=lapack::uplo::lower) -> std::optional< tensor< common_type< tatooine::value_type< decltype(A_)>, tatooine::value_type< decltype(B_)> > > > |
|
auto | solve_symmetric (dynamic_tensor auto &&A, dynamic_tensor auto &&B) |
|
template<dynamic_tensor TensorA, dynamic_tensor TensorB> |
auto | solve (TensorA &&A, TensorB &&B) -> std::optional< tensor< common_type< tatooine::value_type< TensorB >, tatooine::value_type< TensorB > > > > |
|
template<typename Tensor , typename T , std::size_t N> |
constexpr auto | trace (base_tensor< Tensor, T, N, N > const &A) |
|
template<dynamic_tensor Tensor> |
constexpr auto | unary_operation (invocable< tatooine::value_type< Tensor > > auto &&op, Tensor const &t) |
|
template<typename Op , static_tensor Tensor, std::size_t... Seq> |
constexpr auto | unary_operation (Op &&op, Tensor const &t, std::index_sequence< Seq... >) |
|
template<typename Op , static_tensor Tensor> |
constexpr auto | unary_operation (Op &&op, Tensor const &t) |
|
template<typename RealOut = double, typename Tensor , size_t... Dims, typename... Relations> |
auto | evtod (const base_tensor< Tensor, GiNaC::ex, Dims... > &t_in, Relations &&... relations) |
|
template<typename RealOut = double, typename Tensor , size_t... Dims> |
auto | diff (const base_tensor< Tensor, GiNaC::ex, Dims... > &t_in, const GiNaC::symbol &symbol, unsigned nth=1) |
|
template<typename Tensor , size_t M, size_t N> |
auto | to_ginac_matrix (const base_tensor< Tensor, GiNaC::ex, M, N > &m_in) |
|
template<size_t M, size_t N> |
auto | to_mat (const GiNaC::matrix &m_in) |
|
template<typename Tensor , size_t... Dims> |
void | eval (base_tensor< Tensor, GiNaC::ex, Dims... > &m) |
|
template<typename Tensor , size_t... Dims> |
void | evalf (base_tensor< Tensor, GiNaC::ex, Dims... > &m) |
|
template<typename Tensor , size_t... Dims> |
void | evalm (base_tensor< Tensor, GiNaC::ex, Dims... > &m) |
|
template<typename Tensor , size_t... Dims> |
void | expand (base_tensor< Tensor, GiNaC::ex, Dims... > &m) |
|
template<typename Tensor , size_t... Dims> |
void | normal (base_tensor< Tensor, GiNaC::ex, Dims... > &m) |
|
template<typename Tensor , size_t M, size_t N> |
auto | inverse (const base_tensor< Tensor, GiNaC::ex, M, N > &m_in) |
|
template<typename Tensor , typename Real , size_t N> |
| unpack (base_tensor< Tensor, Real, N > &c) -> unpack< base_tensor< Tensor, Real, N > > |
|
template<typename Tensor , typename Real , size_t N> |
| unpack (const base_tensor< Tensor, Real, N > &c) -> unpack< const base_tensor< Tensor, Real, N > > |
|
template<typename Real , size_t N> |
| unpack (tensor< Real, N > &c) -> unpack< tensor< Real, N > > |
|
template<typename Real , size_t N> |
| unpack (const tensor< Real, N > &c) -> unpack< const tensor< Real, N > > |
|
template<static_tensor T0, static_tensor T1>
requires (same_dimensions<T0, T1>()) |
constexpr auto | approx_equal (T0 const &lhs, T1 const &rhs, common_type< tatooine::value_type< T0 >, tatooine::value_type< T1 > > eps=1e-6) |
| for comparison More...
|
|
template<typename Tensor , typename Real , size_t... Dims> |
constexpr auto | isnan (base_tensor< Tensor, Real, Dims... > const &t) -> bool |
|
template<static_tensor T> |
| transposed_static_tensor (T &&) -> transposed_static_tensor< std::decay_t< T > > |
|
template<static_tensor T> |
| transposed_static_tensor (T &) -> transposed_static_tensor< T & > |
|
template<static_tensor T> |
| transposed_static_tensor (T const &) -> transposed_static_tensor< T const & > |
|
template<dynamic_tensor T> |
| transposed_dynamic_tensor (T &&) -> transposed_dynamic_tensor< std::decay_t< T > > |
|
template<dynamic_tensor T> |
| transposed_dynamic_tensor (T &) -> transposed_dynamic_tensor< T & > |
|
template<dynamic_tensor T> |
| transposed_dynamic_tensor (T const &) -> transposed_dynamic_tensor< T const & > |
|
auto | transposed (dynamic_tensor auto &&t) |
|
template<static_tensor T>
requires (!transposed_tensor<T>) |
auto constexpr | transposed (T &&t) |
|
auto constexpr | transposed (transposed_tensor auto &&t) -> decltype(auto) |
|
template<typename ValueType , std::size_t N> |
auto | begin (vec< ValueType, N > const &v) |
|
template<typename ValueType , std::size_t N> |
auto | end (vec< ValueType, N > const &v) |
|
template<typename ValueType , std::size_t N> |
auto | size (vec< ValueType, N > const &v) |
|
template<typename... Ts> |
| vec (const Ts &...) -> vec< common_type< Ts... >, sizeof...(Ts)> |
|
template<typename V , typename ValueType , std::size_t N> |
| vec (base_tensor< V, ValueType, N > const &) -> vec< ValueType, N > |
|
template<typename Real0 , typename Real1 , std::size_t NumDimensions> |
| axis_aligned_bounding_box (vec< Real0, NumDimensions > const &, vec< Real1, NumDimensions > const &) -> axis_aligned_bounding_box< common_type< Real0, Real1 >, NumDimensions > |
|
template<typename Real0 , typename Real1 , std::size_t NumDimensions> |
| axis_aligned_bounding_box (vec< Real0, NumDimensions > &&, vec< Real1, NumDimensions > &&) -> axis_aligned_bounding_box< common_type< Real0, Real1 >, NumDimensions > |
|
template<typename Tensor0 , typename Tensor1 , typename Real0 , typename Real1 , std::size_t NumDimensions> |
| axis_aligned_bounding_box (base_tensor< Tensor0, Real0, NumDimensions > &&, base_tensor< Tensor1, Real1, NumDimensions > &&) -> axis_aligned_bounding_box< common_type< Real0, Real1 >, NumDimensions > |
|
template<typename Real , std::size_t NumDimensions> |
auto | operator<< (std::ostream &out, axis_aligned_bounding_box< Real, NumDimensions > const &bb) -> std::ostream & |
|
template<typename Mesh > |
| celltree (Mesh const &mesh) -> celltree< Mesh > |
|
template<typename Mesh , typename Real , std::size_t NumDimensions> |
| celltree (Mesh const &mesh, vec< Real, NumDimensions > const &min, vec< Real, NumDimensions > const &max) -> celltree< Mesh > |
|
template<typename T > |
constexpr auto | is_celltree () |
|
template<typename T > |
constexpr auto | is_celltree (T &&) |
|
template<range_of_lines Lines, floating_point Eps = real_number> |
auto | merge (Lines const &unmerged_lines, Eps const eps=1e-13) |
| Merges a set of lines and combines lines with equal vertex endings. More...
|
|
template<range_of_lines Lines, floating_point Eps = real_number, execution_policy_tag ExecutionPolicy> |
auto | merge (Lines &lines, std::ranges::range_value_t< Lines > line_to_merge, ExecutionPolicy const tag, Eps const eps=1e-13) -> auto & |
| Merges line_to_merge into lines. More...
|
|
template<range_of_lines Lines> |
auto | write_vtp (Lines const &lines, filesystem::path const &path) -> void |
|
template<range_of_lines Lines> |
auto | write_vtk (Lines const &lines, filesystem::path const &path, std::string const &title="tatooine lines") -> void |
|
template<range_of_lines Lines> |
auto | write (Lines const &lines, filesystem::path const &path) -> void |
|
template<typename Lines , typename MaxDist > |
auto | merge (range_of_lines auto lines, MaxDist max_length) |
|
auto | filter_length (range_of_lines auto const &lines, arithmetic auto const max_length) |
|
template<typename Real > |
auto | intersections (std::vector< line< Real, 2 > > const &lines0, std::vector< line< Real, 2 > > const &lines1) |
|
template<typename Real , std::size_t NumDimensions> |
auto | vertices (pointset< Real, NumDimensions > const &ps) |
|
template<range Ellipsoids>
requires (is_derived_from_hyper_ellipse< std::ranges::range_value_t<Ellipsoids>>) && (std::ranges::range_value_t<Ellipsoids>::num_dimensions() == 2) |
auto | write_vtp (Ellipsoids const &ellipsoids, filesystem::path const &path) |
|
template<range Ellipsoids>
requires (is_derived_from_hyper_ellipse< std::ranges::range_value_t<Ellipsoids>>) && (std::ranges::range_value_t<Ellipsoids>::num_dimensions() == 3) |
auto | write_vtp (Ellipsoids const &ellipsoids, filesystem::path const &path) |
|
template<typename Real , size_t N> |
auto | operator<< (std::ostream &out, const grid_edge< Real, N > &e) -> auto & |
|
template<typename Child , unsigned_integral Int> |
auto | operator+ (handle< Child, Int > const h, integral auto const i) |
|
template<typename Child , unsigned_integral Int> |
auto | operator+ (integral auto const i, handle< Child, Int > const h) |
|
template<typename Child , unsigned_integral Int> |
auto | operator- (handle< Child, Int > const h, integral auto const i) |
|
template<typename Child , unsigned_integral Int> |
auto | operator- (integral auto const i, handle< Child, Int > const h) |
|
template<typename Child , unsigned_integral Int> |
auto | operator* (handle< Child, Int > const h, integral auto const i) |
|
template<typename Child , unsigned_integral Int> |
auto | operator* (integral auto const i, handle< Child, Int > const h) |
|
template<typename Child , unsigned_integral Int> |
auto | operator/ (handle< Child, Int > const h, integral auto const i) |
|
template<typename Child , unsigned_integral Int> |
auto | operator/ (integral auto const i, handle< Child, Int > const h) |
|
template<typename Child , unsigned_integral Int> |
auto | operator<< (std::ostream &stream, handle< Child, Int > const h) -> auto & |
|
template<typename Child , unsigned_integral Int> |
auto constexpr | index (handle< Child, Int > const h) |
|
template<typename T > |
constexpr auto | has_face_at_method () |
|
template<typename T > |
constexpr auto | has_face_at_method (T &&) |
|
template<typename T > |
constexpr auto | has_tetrahedron_at_method () |
|
template<typename T > |
constexpr auto | has_tetrahedron_at_method (T &&) |
|
template<typename T > |
constexpr auto | is_kdtree () |
|
template<typename T > |
constexpr auto | is_kdtree (T &&) |
|
template<typename... Tensors, typename... Reals, std::size_t NumDimensions> |
| line (base_tensor< Tensors, Reals, NumDimensions > &&... vertices) -> line< common_type< Reals... >, NumDimensions > |
|
template<floating_point Real = real_number> |
auto | read_lines (filesystem::path const &filepath) |
|
template<typename... Dimensions> |
auto | operator<< (std::ostream &out, rectilinear_grid< Dimensions... > const &g) -> auto & |
|
template<floating_point_range... Dimensions> |
auto | vertices (rectilinear_grid< Dimensions... > const &g) |
|
template<floating_point_range... Dimensions> |
| rectilinear_grid (Dimensions &&...) -> rectilinear_grid< std::decay_t< Dimensions >... > |
|
template<typename Real , std::size_t N> |
| rectilinear_grid (axis_aligned_bounding_box< Real, N > const &bb, integral auto const ... res) -> rectilinear_grid< linspace< std::conditional_t< true, Real, decltype(res)> >... > |
|
template<integral... Ints> |
| rectilinear_grid (Ints const ... res) -> rectilinear_grid< linspace< std::conditional_t< true, double, decltype(res)> >... > |
|
template<floating_point_range... Dimensions, floating_point_range AdditionalDimension> |
auto | operator+ (rectilinear_grid< Dimensions... > const &rectilinear_grid, AdditionalDimension &&additional_dimension) |
|
template<floating_point_range... Dimensions, floating_point_range AdditionalDimension> |
auto | operator+ (AdditionalDimension &&additional_dimension, rectilinear_grid< Dimensions... > const &rectilinear_grid) |
|
template<typename Real > |
auto | is_separating_axis (vec< Real, 2 > const &n, std::vector< vec< Real, 2 > > const &polygon0, std::vector< vec< Real, 2 > > const &polygon1) |
| Return true if n is a separating axis of polygon0 and polygon1. More...
|
|
template<typename Real > |
auto | has_separating_axis (std::vector< vec< Real, 2 > > const &polygon0, std::vector< vec< Real, 2 > > const &polygon1) -> bool |
|
template<typename Real , std::size_t NumDimensions, std::size_t SimplexDim> |
| uniform_tree_hierarchy (vec< Real, NumDimensions > const &, vec< Real, NumDimensions > const &, unstructured_simplicial_grid< Real, NumDimensions, SimplexDim > const &, std::size_t const) -> uniform_tree_hierarchy< unstructured_simplicial_grid< Real, NumDimensions, SimplexDim > > |
|
template<typename T > |
constexpr auto | is_uniform_tree_hierarchy () |
|
template<typename T > |
constexpr auto | is_uniform_tree_hierarchy (T &&) |
|
| unstructured_simplicial_grid (std::string const &) -> unstructured_simplicial_grid< double, 3 > |
|
template<typename... Dims> |
| unstructured_simplicial_grid (rectilinear_grid< Dims... > const &g) -> unstructured_simplicial_grid< typename rectilinear_grid< Dims... >::real_type, sizeof...(Dims)> |
|
static constexpr auto | constrained_delaunay_available (std::size_t const NumDimensions) -> bool |
|
auto | write_vtk (range auto const &grids, std::filesystem::path const &path, std::string const &title="tatooine grids") |
|
auto | write_vtp (range auto const &grids, std::filesystem::path const &path) |
|
auto | write (range auto const &grids, std::filesystem::path const &path) |
|
template<typename Real , typename Integrator , template< typename > typename Interpolator> |
auto | render_topological_skeleton (const sampled_field< grid_sampler< Real, 2, vec< Real, 2 >, interpolation::linear, interpolation::linear >, Real, 2, 2 > &v, const integration::integrator< Real, 2, Interpolator, Integrator > &integrator, const vec< size_t, 2 > &resolution, const Real tau=100, const Real eps=1e-7) |
| you need a gl::context for this More...
|
|
template<std::floating_point Real> |
constexpr auto | diff (analytical::numerical::autonomous_particles_test< Real > &) |
|
template<std::floating_point Real> |
constexpr auto | diff (vectorfield< analytical::numerical::autonomous_particles_test< Real >, Real, 2 > const &) |
|
template<floating_point Real> |
constexpr auto | diff (analytical::numerical::center< Real > &) |
|
template<floating_point Real> |
constexpr auto | diff (vectorfield< analytical::numerical::center< Real >, Real, 2 > const &) |
|
template<floating_point Real> |
auto | diff (analytical::numerical::frankes_test< Real > const &f) |
|
template<floating_point Real> |
auto | write_vtp (std::vector< autonomous_particle< Real, 2 > > const &particles, std::size_t const num_points, filesystem::path const &path, backward_tag const) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (const field< LHSInternalField, LHSReal, N, LHSTensor > &lhs, const field< RHSInternalField, RHSReal, N, RHSTensor > &rhs, const Op &op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (field< LHSInternalField, LHSReal, N, LHSTensor > &&lhs, const field< RHSInternalField, RHSReal, N, RHSTensor > &rhs, const Op &op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (const field< LHSInternalField, LHSReal, N, LHSTensor > &lhs, field< RHSInternalField, RHSReal, N, RHSTensor > &&rhs, const Op &op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (field< LHSInternalField, LHSReal, N, LHSTensor > &&lhs, field< RHSInternalField, RHSReal, N, RHSTensor > &&rhs, const Op &op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (const field< LHSInternalField, LHSReal, N, LHSTensor > &lhs, const field< RHSInternalField, RHSReal, N, RHSTensor > &rhs, Op &&op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (field< LHSInternalField, LHSReal, N, LHSTensor > &&lhs, const field< RHSInternalField, RHSReal, N, RHSTensor > &rhs, Op &&op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (const field< LHSInternalField, LHSReal, N, LHSTensor > &lhs, field< RHSInternalField, RHSReal, N, RHSTensor > &&rhs, Op op) |
|
template<typename LHSInternalField , typename LHSReal , size_t N, typename LHSTensor , typename RHSInternalField , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (field< LHSInternalField, LHSReal, N, LHSTensor > &&lhs, field< RHSInternalField, RHSReal, N, RHSTensor > &&rhs, Op op) |
|
template<typename LHSReal , size_t N, typename LHSTensor , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (polymorphic::field< LHSReal, N, LHSTensor > const *lhs, polymorphic::field< RHSReal, N, RHSTensor > const *rhs, Op op) |
|
template<typename RealOut , size_t NOut, size_t... TensorDimsOut, typename LHSReal , size_t N, typename LHSTensor , typename RHSReal , typename RHSTensor , typename Op > |
constexpr auto | make_binary_operation_field (polymorphic::field< LHSReal, N, LHSTensor > const &lhs, polymorphic::field< RHSReal, N, RHSTensor > const &rhs, Op op) |
|
template<typename Real > |
auto | find_boundary_switch_points (const grid_sampler< Real, 2, vec< Real, 2 >, interpolation::linear, interpolation::linear > &sampler) |
|
template<typename Real > |
auto | find_boundary_switch_points (const sampled_field< grid_sampler< Real, 2, vec< Real, 2 >, interpolation::linear, interpolation::linear >, Real, 2, 2 > &v) |
|
template<typename Grid , typename Real , bool HasNonConstReference> |
auto | find_critical_points (detail::rectilinear_grid::vertex_property_sampler< detail::rectilinear_grid::typed_vertex_property_interface< Grid, vec< Real, 2 >, HasNonConstReference >, interpolation::linear, interpolation::linear > const &s) |
|
template<typename V , typename Real > |
auto | curvature (const field< V, Real, 2, 2 > &vf) |
|
template<typename V , typename Real > |
auto | curvature (const field< V, Real, 3, 3 > &vf) |
|
| curve_to_streamline () -> curve_to_streamline< double > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field &&, Eps const) -> numerically_differentiated_field< Field > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field const &, Eps const) -> numerically_differentiated_field< Field const & > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field &, Eps const) -> numerically_differentiated_field< Field & > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field &&f, vec< Eps, field_num_dimensions< Field > > const &) -> numerically_differentiated_field< Field > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field const &f, vec< Eps, field_num_dimensions< Field > > const &) -> numerically_differentiated_field< Field const & > |
|
template<typename Field , arithmetic Eps> |
| numerically_differentiated_field (Field &f, vec< Eps, field_num_dimensions< Field > > const &) -> numerically_differentiated_field< Field & > |
|
auto | diff (field_concept auto &&field, tag::numerical_t) |
|
auto | diff (field_concept auto &&field, tag::numerical_t, arithmetic auto const epsilon) |
|
auto | diff (field_concept auto &&field, arithmetic auto const epsilon) |
|
auto | diff (field_concept auto &&field, tag::numerical_t, fixed_size_real_vec< std::decay_t< decltype(field)>::num_dimensions()> auto &&epsilon) |
|
auto | diff (field_concept auto &&field, fixed_size_real_vec< std::decay_t< decltype(field)>::num_dimensions()> auto &&epsilon) |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field &&, Eps const) -> differentiated_field< Field > |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field const &, Eps const) -> differentiated_field< Field const & > |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field &, Eps const) -> differentiated_field< Field & > |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field &&f, vec< Eps, field_num_dimensions< Field > > const &) -> differentiated_field< Field > |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field const &f, vec< Eps, field_num_dimensions< Field > > const &) -> differentiated_field< Field const & > |
|
template<typename Field , arithmetic Eps> |
| differentiated_field (Field &f, vec< Eps, field_num_dimensions< Field > > const &) -> differentiated_field< Field & > |
|
auto | diff (field_concept auto &&field) |
|
template<typename Field , typename Real , std::size_t NumDimensions, typename Tensor > |
auto | diff_time (field< Field, Real, NumDimensions, Tensor > const &f, Real const eps) |
|
template<typename Field , typename Real , std::size_t NumDimensions, typename Tensor > |
auto | diff_time (field< Field, Real, NumDimensions, Tensor > &f, Real const eps) |
|
template<typename Field , typename Real , std::size_t NumDimensions, typename Tensor > |
auto | diff_time (field< Field, Real, NumDimensions, Tensor > &&f, Real const eps) |
|
template<typename Real , std::size_t NumDimensions, typename Tensor > |
auto | diff_time (polymorphic::field< Real, NumDimensions, Tensor > const *f, Real const eps) |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap &&) -> numerically_differentiated_flowmap< Flowmap > |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap &&, arithmetic auto) -> numerically_differentiated_flowmap< Flowmap > |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap &&, typename Flowmap::pos_type const &) -> numerically_differentiated_flowmap< Flowmap > |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap const &) -> numerically_differentiated_flowmap< Flowmap const & > |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap const &, arithmetic auto) -> numerically_differentiated_flowmap< Flowmap > |
|
template<flowmap_concept Flowmap> |
| numerically_differentiated_flowmap (Flowmap const &, typename Flowmap::pos_type const &) -> numerically_differentiated_flowmap< Flowmap > |
|
auto | diff (flowmap_concept auto &&flowmap, tag::numerical_t) |
|
auto | diff (flowmap_concept auto &&flowmap, tag::numerical_t, arithmetic auto const epsilon) |
|
auto | diff (flowmap_concept auto &&flowmap, tag::numerical_t, fixed_size_real_vec< std::decay_t< decltype(flowmap)>::num_dimensions()> auto &&epsilon) |
|
auto | diff (flowmap_concept auto &&flowmap, arithmetic auto const epsilon) |
|
auto | diff (flowmap_concept auto &&flowmap, fixed_size_real_vec< std::decay_t< decltype(flowmap)>::num_dimensions()> auto &&epsilon) |
|
template<typename Flowmap > |
| differentiated_flowmap (Flowmap &&) -> differentiated_flowmap< Flowmap > |
|
template<typename Flowmap > |
| differentiated_flowmap (Flowmap const &) -> differentiated_flowmap< Flowmap const & > |
|
auto | diff (flowmap_concept auto &&flowmap) |
|
template<typename V , arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions, arithmetic T> |
auto | sample_to_raw (field< V, VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, T const t, std::size_t padding=0, VReal padval=0) |
|
template<typename V , arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions, floating_point_range TemporalDimension> |
auto | sample_to_raw (field< V, VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, TemporalDimension const &temporal_domain, std::size_t padding=0, VReal padval=0) |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | sample_to_vector (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, arithmetic auto const t) |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, arithmetic auto const t, execution_policy_tag auto const pol) -> auto |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, arithmetic auto const t) -> auto |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain) -> auto & |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > const &discretized_domain, execution_policy_tag auto const pol) -> auto & |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > &discretized_domain, std::string const &property_name, arithmetic auto const t, execution_policy_tag auto const pol) -> auto & |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > &discretized_domain, std::string const &property_name, arithmetic auto const t) -> auto & |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > &discretized_domain, std::string const &property_name) -> auto & |
|
template<arithmetic VReal, std::size_t NumDimensions, typename Tensor , floating_point_range... SpatialDimensions> |
auto | discretize (polymorphic::field< VReal, NumDimensions, Tensor > const &f, rectilinear_grid< SpatialDimensions... > &discretized_domain, std::string const &property_name, execution_policy_tag auto const pol) -> auto & |
|
template<typename V , arithmetic VReal, std::size_t NumDimensions, typename Tensor , typename BasisReal , typename X0Real , typename X1Real > |
auto | discretize (field< V, VReal, NumDimensions, Tensor > const &f, vec< X0Real, NumDimensions > const &x0, mat< BasisReal, NumDimensions, 2 > const &basis, vec< X1Real, 2 > const &spatial_size, std::size_t const res0, std::size_t const res1, std::string const &property_name, arithmetic auto const t) |
|
template<typename V , arithmetic VReal, std::size_t NumDimensions, typename Tensor , typename BasisReal , typename X0Real > |
auto | discretize (field< V, VReal, NumDimensions, Tensor > const &f, mat< BasisReal, NumDimensions, 2 > const &basis, vec< X0Real, NumDimensions > const &x0, std::size_t const res0, std::size_t const res1, std::string const &property_name, arithmetic auto const t) |
|
template<typename V , arithmetic VReal, std::size_t NumDimensions, typename Tensor , typename BasisReal , typename X0Real > |
auto | discretize (field< V, VReal, NumDimensions, Tensor > const &f, vec< BasisReal, NumDimensions > const &extent0, vec< BasisReal, NumDimensions > const &extent1, vec< X0Real, NumDimensions > const &, std::size_t const res0, std::size_t const res1, std::string const &property_name, arithmetic auto const t) |
|
template<std::size_t NumDimensions, typename F > |
constexpr auto | make_field (F &&f) |
|
template<typename V0 , typename V1 , typename Real0 , typename Real1 , std::size_t NumDimensions>
requires ( V0::num_tensor_components() == V1::num_tensor_components()) |
constexpr auto | dot (vectorfield< V0, Real0, NumDimensions > const &lhs, vectorfield< V1, Real1, NumDimensions > const &rhs) |
|
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, typename Tensor > |
constexpr auto | operator+ (const field< V0, Real0, N, Tensor > &lhs, const field< V1, Real1, N, Tensor > &rhs) |
|
template<typename Real0 , typename Real1 , std::size_t N, std::size_t TM, std::size_t TN> |
constexpr auto | operator* (polymorphic::matrixfield< Real0, N, TM, TN > const &lhs, polymorphic::vectorfield< Real1, N, TN > const &rhs) |
|
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, std::size_t TM, std::size_t TN> |
constexpr auto | operator* (const matrixfield< V0, Real0, N, TM, TN > &lhs, const vectorfield< V1, Real1, N, TN > &rhs) |
|
template<typename V0 , typename Real0 , typename V1 , typename Real1 , std::size_t N, typename Tensor > |
constexpr auto | operator* (const field< V0, Real0, N, Tensor > &lhs, const field< V1, Real1, N, Tensor > &rhs) |
|
template<typename V , typename VReal , std::size_t N, typename Tensor > |
constexpr auto | operator* (field< V, VReal, N, Tensor > const &f, arithmetic auto const scalar) |
|
template<typename V , arithmetic VReal, std::size_t N, typename Tensor > |
constexpr auto | operator* (arithmetic auto const scalar, field< V, VReal, N, Tensor > const &f) |
|
template<typename V , typename VReal , std::size_t N, arithmetic_or_complex ScalarReal, typename Tensor > |
constexpr auto | operator/ (field< V, VReal, N, Tensor > const &f, ScalarReal const scalar) |
|
template<typename V , typename VReal , std::size_t N, arithmetic_or_complex ScalarReal, typename Tensor > |
constexpr auto | operator/ (ScalarReal const scalar, field< V, VReal, N, Tensor > const &f) |
|
template<typename V , typename VReal , std::size_t N> |
constexpr auto | squared_euclidean_length (vectorfield< V, VReal, N > const &v) |
|
template<typename V , typename VReal , std::size_t N> |
constexpr auto | squared_euclidean_length (vectorfield< V, VReal, N > &&v) |
|
template<typename V , typename VReal , std::size_t N> |
constexpr auto | euclidean_length (vectorfield< V, VReal, N > const &v) |
|
template<typename V , typename VReal , std::size_t N> |
constexpr auto | euclidean_length (vectorfield< V, VReal, N > &&v) |
|
template<typename V , typename Real , size_t N, template< typename, size_t > typename ODESolver> |
| ftle_field (vectorfield< V, Real, N > const &v, arithmetic auto, ODESolver< Real, N >) -> ftle_field< numerically_differentiated_flowmap< decltype((flowmap< ODESolver >(v)))> > |
|
template<typename V , typename Real , size_t N> |
| ftle_field (vectorfield< V, Real, N > const &v, arithmetic auto) -> ftle_field< decltype(diff(flowmap(v)))> |
|
template<typename V , typename Real , size_t N> |
| ftle_field (vectorfield< V, Real, N > const &v, arithmetic auto, arithmetic auto) -> ftle_field< decltype(diff(flowmap(v)))> |
|
template<typename V , typename Real , size_t N, typename EpsReal > |
| ftle_field (vectorfield< V, Real, N > const &v, arithmetic auto, vec< EpsReal, N > const &) -> ftle_field< decltype(diff(flowmap(v)))> |
|
template<typename... Domains, typename Flowmap > |
auto | ftle (rectilinear_grid< Domains... > &grid, Flowmap &&flowmap, arithmetic auto const t0, arithmetic auto const tau, execution_policy_tag auto const exec) -> auto & |
|
template<typename... Domains, typename Flowmap > |
auto | ftle (rectilinear_grid< Domains... > &grid, Flowmap &&flowmap, arithmetic auto const t0, arithmetic auto const tau) -> decltype(auto) |
|
template<typename T > |
constexpr auto | has_fields_available_method () |
|
template<typename T > |
constexpr auto | has_fields_available_method (T &&t) |
|
template<typename V , typename Real > |
auto | helicity (const field< V, Real, 3, 3 > &vf) |
|
template<typename XDomain , typename YDomain > |
auto | isolines (invocable< std::size_t, std::size_t, Vec2< typename rectilinear_grid< XDomain, YDomain >::real_type > > auto &&get_scalars, rectilinear_grid< XDomain, YDomain > const &g, arithmetic auto const isolevel) |
| Indexing and lookup map from http://paulbourke.net/geometry/polygonise/. More...
|
|
template<typename Grid , arithmetic T, bool HasNonConstReference> |
auto | isolines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data, arithmetic auto const isolevel) |
|
template<arithmetic Real, typename Indexing , arithmetic BBReal> |
auto | isolines (dynamic_multidim_array< Real, Indexing > const &data, axis_aligned_bounding_box< BBReal, 2 > const &bb, arithmetic auto const isolevel) |
|
template<arithmetic Real, arithmetic BBReal, typename Indexing , typename MemLoc , std::size_t XRes, std::size_t YRes> |
auto | isolines (static_multidim_array< Real, Indexing, MemLoc, XRes, YRes > const &data, axis_aligned_bounding_box< BBReal, 2 > const &bb, arithmetic auto const isolevel) |
|
template<typename Field , typename FieldReal , floating_point_range XDomain, floating_point_range YDomain, arithmetic TReal = FieldReal> |
auto | isolines (scalarfield< Field, FieldReal, 2 > const &sf, rectilinear_grid< XDomain, YDomain > const &g, arithmetic auto const isolevel, TReal const t=0) |
|
template<typename XDomain , typename YDomain , typename ZDomain , arithmetic Isolevel, invocable< std::size_t, std::size_t, std::size_t, vec< typename rectilinear_grid< XDomain, YDomain, ZDomain >::real_type, 3 > > GetScalars> |
auto | isosurface (GetScalars &&get_scalars, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, Isolevel const isolevel) |
| Indexing and lookup map from http://paulbourke.net/geometry/polygonise/. More...
|
|
template<arithmetic Real, typename Indexing , arithmetic BBReal, arithmetic Isolevel> |
auto | isosurface (dynamic_multidim_array< Real, Indexing > const &data, axis_aligned_bounding_box< BBReal, 3 > const &bb, Isolevel const isolevel) |
|
template<arithmetic Real, typename Indexing , typename MemLoc , std::size_t XRes, std::size_t YRes, std::size_t ZRes, arithmetic BBReal, arithmetic Isolevel> |
auto | isosurface (static_multidim_array< Real, Indexing, MemLoc, XRes, YRes, ZRes > const &data, axis_aligned_bounding_box< BBReal, 3 > const &bb, Isolevel const isolevel) |
|
template<typename Field , arithmetic FieldReal, typename XDomain , typename YDomain , typename ZDomain , arithmetic Isolevel, arithmetic TReal = int> |
auto | isosurface (scalarfield< Field, FieldReal, 3 > const &sf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, Isolevel const isolevel, TReal const t=0) |
|
template<typename Grid , arithmetic T, bool HasNonConstReference> |
auto | isosurface (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data, arithmetic auto const isolevel) |
|
template<typename V , typename Real , size_t N> |
auto | lagrangian_Q (const field< V, Real, N, N > &vf, arithmetic auto const btau, arithmetic auto const ftau) |
|
template<typename V , typename Real , size_t N> |
auto | lambda2 (const field< V, Real, N, N > &vf) |
|
template<typename V , typename Real , std::size_t NumDimensions> |
| numerical_flowmap (vectorfield< V, Real, NumDimensions > const &) -> numerical_flowmap< V const &, ode::boost::rungekuttafehlberg78, interpolation::cubic > |
|
template<typename V , typename Real , std::size_t NumDimensions> |
| numerical_flowmap (vectorfield< V, Real, NumDimensions > &&) -> numerical_flowmap< V, ode::boost::rungekuttafehlberg78, interpolation::cubic > |
|
template<typename V , typename Real , std::size_t NumDimensions, template< typename, std::size_t > typename ODESolver> |
| numerical_flowmap (vectorfield< V, Real, NumDimensions > const &, ODESolver< Real, NumDimensions > const &) -> numerical_flowmap< V const &, ODESolver, interpolation::cubic > |
|
template<typename V , typename Real , std::size_t NumDimensions, template< typename, std::size_t > typename ODESolver> |
| numerical_flowmap (vectorfield< V, Real, NumDimensions > &&, ODESolver< Real, NumDimensions > const &) -> numerical_flowmap< V, ODESolver, interpolation::cubic > |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > const &v, tag::numerical_t) |
|
template<template< typename > typename InterpolationKernel = interpolation::cubic, template< typename, std::size_t > typename ODESolver, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > const &v, ODESolver< Real, NumDimensions > const &ode_solver, tag::numerical_t) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > &&v, tag::numerical_t) |
|
template<template< typename, std::size_t > typename ODESolver, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > &&v, ODESolver< Real, NumDimensions > const &ode_solver, tag::numerical_t) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > const &v) |
|
template<template< typename, std::size_t > typename ODESolver, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > const &v, ODESolver< Real, NumDimensions > const &ode_solver) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > &&v, ODESolver< Real, NumDimensions > const &ode_solver) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename V , typename Real , std::size_t NumDimensions> |
auto | flowmap (vectorfield< V, Real, NumDimensions > &&v) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename Real , std::size_t NumDimensions> |
auto | flowmap (polymorphic::vectorfield< Real, NumDimensions > const &v) |
|
template<template< typename, std::size_t > typename ODESolver = ode::boost::rungekuttafehlberg78, template< typename > typename InterpolationKernel = interpolation::cubic, typename Real , std::size_t NumDimensions> |
auto | flowmap (polymorphic::vectorfield< Real, NumDimensions > const &v, ODESolver< Real, NumDimensions > const &ode_solver) |
|
template<typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (polymorphic::vectorfield< VReal, 3 > const &vf, polymorphic::vectorfield< WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (polymorphic::vectorfield< VReal, 3 > const &vf, polymorphic::vectorfield< WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, TReal const t, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, TReal const t, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename VReal , typename VIndexing , typename WReal , typename WIndexing , typename AABBReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (dynamic_multidim_array< vec< VReal, 3 >, VIndexing > const &vf, dynamic_multidim_array< vec< WReal, 3 >, WIndexing > const &wf, axis_aligned_bounding_box< AABBReal, 3 > const &bb, execution_policy_tag auto const policy, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename VReal , typename VIndexing , typename WReal , typename WIndexing , typename AABBReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds> |
auto | parallel_vectors (dynamic_multidim_array< vec< VReal, 3 >, VIndexing > const &vf, dynamic_multidim_array< vec< WReal, 3 >, WIndexing > const &wf, axis_aligned_bounding_box< AABBReal, 3 > const &bb, Preds &&... preds) |
| This is an implementation of [5]. More...
|
|
template<typename Real , std::size_t NumDimensions> |
auto | x0_to_pointset (std::vector< particle< Real, NumDimensions > > const &particles) |
|
template<typename Real , std::size_t NumDimensions> |
auto | x1_to_pointset (std::vector< particle< Real, NumDimensions > > const &particles) |
|
template<typename V >
requires is_vectorfield<std::decay_t<std::remove_pointer_t<V>>> |
auto | Q (V &&v) |
|
template<typename V >
requires is_vectorfield< std::decay_t<std::remove_pointer_t<V>>> |
auto | Q (V const &v) |
|
template<typename Grid , arithmetic T, bool HasNonConstReference, typename DomainX , typename DomainY >
requires (Grid::num_dimensions() == 2) |
auto | ridgelines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data, rectilinear_grid< DomainX, DomainY > &working_grid, execution_policy_tag auto const exec) |
|
template<typename Grid , arithmetic T, bool HasNonConstReference, typename DomainX , typename DomainY >
requires (Grid::num_dimensions() == 2) |
auto | ridgelines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data, execution_policy_tag auto const exec) |
| Implementation of [6] without filters. More...
|
|
template<typename Grid , arithmetic T, bool HasNonConstReference, typename DomainX , typename DomainY >
requires (Grid::num_dimensions() == 2) |
auto | ridgelines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data, rectilinear_grid< DomainX, DomainY > &working_grid) |
|
template<typename Grid , arithmetic T, bool HasNonConstReference>
requires (Grid::num_dimensions() == 2) |
auto | ridgelines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, T, HasNonConstReference > const &data) |
| Implementation of [6] without filters. More...
|
|
template<typename V > |
| spacetime_splitted_vectorfield (V &&v) -> spacetime_splitted_vectorfield< V && > |
|
template<typename V > |
| spacetime_splitted_vectorfield (V const &v) -> spacetime_splitted_vectorfield< V const & > |
|
template<typename V > |
| spacetime_splitted_vectorfield (V &v) -> spacetime_splitted_vectorfield< V & > |
|
template<typename V > |
| spacetime_splitted_vectorfield (V *v) -> spacetime_splitted_vectorfield< V * > |
|
template<typename V > |
| spacetime_splitted_vectorfield (V const *v) -> spacetime_splitted_vectorfield< V const * > |
|
template<typename V , typename VReal , std::size_t N, std::size_t NV> |
auto | split_spacetime (vectorfield< V, VReal, N, NV > const &v) |
|
template<typename V , typename VReal , std::size_t N, std::size_t NV> |
auto | split_spacetime (vectorfield< V, VReal, N, NV > &v) |
|
template<typename V , typename VReal , std::size_t N, std::size_t NV> |
auto | split_spacetime (vectorfield< V, VReal, N, NV > &&v) |
|
template<typename VReal , std::size_t N, std::size_t NV> |
auto | split_spacetime (polymorphic::vectorfield< VReal, N, NV > *v) |
|
template<typename VReal , std::size_t N, std::size_t NV> |
auto | split_spacetime (polymorphic::vectorfield< VReal, N, NV > const *v) |
|
template<typename V , typename Real , std::size_t N> |
| spacetime_vectorfield (vectorfield< V, Real, N > const &) -> spacetime_vectorfield< V > |
|
template<typename Real , std::size_t N> |
| spacetime_vectorfield (polymorphic::vectorfield< Real, N > const *) -> spacetime_vectorfield< polymorphic::vectorfield< Real, N > const * > |
|
template<typename Real , std::size_t N> |
| spacetime_vectorfield (symbolic::field< Real, N > const &) -> spacetime_vectorfield< symbolic::field< Real, N > > |
|
template<typename V , typename Real , std::size_t N> |
auto | spacetime (vectorfield< V, Real, N > const &vf) |
|
template<typename V , typename Real , std::size_t N> |
auto | spacetime (polymorphic::vectorfield< Real, N > const *vf) |
|
template<typename V , typename Real , std::size_t N> |
auto | spacetime (polymorphic::vectorfield< Real, N > const &vf) |
|
template<typename F , typename T > |
auto | steady (F const &f, T const t) |
|
template<typename F , typename T > |
auto | steady (F &&f, T const t) |
|
template<typename Flowmap > |
| streamsurface (Flowmap const &, arithmetic auto u0t0, arithmetic auto u1t0, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &seedcurve) -> streamsurface< Flowmap const &, interpolation::linear > |
|
template<typename Flowmap > |
| streamsurface (Flowmap const &, arithmetic auto t0, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &seedcurve) -> streamsurface< Flowmap const &, interpolation::linear > |
|
template<typename Flowmap > |
| streamsurface (Flowmap const &, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &) -> streamsurface< Flowmap const &, interpolation::linear > |
|
template<typename Flowmap > |
| streamsurface (Flowmap &&, arithmetic auto u0t0, arithmetic auto u1t0, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &seedcurve) -> streamsurface< std::decay_t< Flowmap >, interpolation::linear > |
|
template<typename Flowmap > |
| streamsurface (Flowmap &&, arithmetic auto t0, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &seedcurve) -> streamsurface< std::decay_t< Flowmap >, interpolation::linear > |
|
template<typename Flowmap > |
| streamsurface (Flowmap &&, line< typename Flowmap::real_type, Flowmap::num_dimensions()> const &) -> streamsurface< std::decay_t< Flowmap >, interpolation::linear > |
|
template<typename T > |
constexpr auto | is_symbolic_field (T &&) noexcept |
|
template<typename Real , size_t N, size_t... TensorDims> |
constexpr auto | is_symbolic_field (const field< symbolic::field< Real, N, TensorDims... >, Real, N, TensorDims... > &) noexcept |
|
template<typename Real , size_t N, size_t... TensorDims> |
auto | diff (const symbolic::field< Real, N, TensorDims... > &f) |
|
template<typename Real , typename Integrator , template< typename > typename Interpolator> |
auto | compute_topological_skeleton (const sampled_field< grid_sampler< Real, 2, vec< Real, 2 >, interpolation::linear, interpolation::linear >, Real, 2, 2 > &v, const integration::integrator< Real, 2, Interpolator, Integrator > &integrator, const Real tau=100, const Real eps=1e-7) |
|
template<typename V , typename Real , std::size_t N, typename T0Real , typename TauReal > |
auto | trace_flow (vectorfield< V, Real, N > const &v, vec< Real, N > const &x0, T0Real const t0, TauReal const tau) |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<std::decay_t<Field>>) |
| unary_operation_field (Field &&field, Op &&op) -> unary_operation_field< Field, Op > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field const &field, Op &&op) -> unary_operation_field< Field const &, Op > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field &field, Op &&op) -> unary_operation_field< Field &, Op > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<std::decay_t<Field>>) |
| unary_operation_field (Field &&field, Op const &op) -> unary_operation_field< Field, Op const & > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field const &field, Op const &op) -> unary_operation_field< Field const &, Op const & > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field &field, Op const &op) -> unary_operation_field< Field &, Op const & > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<std::decay_t<Field>>) |
| unary_operation_field (Field &&field, Op &op) -> unary_operation_field< Field, Op & > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field const &field, Op &op) -> unary_operation_field< Field const &, Op & > |
|
template<typename Field , typename Op >
requires (!std::is_pointer_v<Field>) |
| unary_operation_field (Field &field, Op &op) -> unary_operation_field< Field &, Op & > |
|
template<typename Field , typename Op > |
| unary_operation_field (Field *field, Op &&op) -> unary_operation_field< Field *, Op > |
|
template<typename Field , typename Op > |
| unary_operation_field (Field const *field, Op &&op) -> unary_operation_field< Field const *, Op > |
|
template<typename Field , typename Op >
requires (is_field<Field>) && (invocable<Op, field_tensor_type<Field>>) |
constexpr auto | operator| (Field &&field, Op &&op) |
|
template<typename Real , size_t N, typename Tensor , typename Op >
requires (invocable<Op, Tensor>) |
constexpr auto | operator| (polymorphic::field< Real, N, Tensor > *field, Op &&op) |
|
template<typename Field , typename Real , typename DomainX , typename DomainY , typename DomainZ > |
auto | extract_vortex_core_lines (vectorfield< Field, Real, 3 > const &v, integral auto const t, rectilinear_grid< DomainX, DomainY, DomainZ > const &g, algorithm::sujudi_haimes_tag const) |
|
template<typename Field , typename Real , typename DomainX , typename DomainY , typename DomainZ > |
auto | extract_vortex_core_lines (vectorfield< Field, Real, 3 > const &v, integral auto const t, rectilinear_grid< DomainX, DomainY, DomainZ > const &g) |
|
template<typename Grid , typename Real , bool HasNonConstReference> |
auto | extract_vortex_core_lines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, vec< Real, 3 >, HasNonConstReference > const &v, algorithm::sujudi_haimes_tag const) |
|
template<typename Grid , typename Real , bool HasNonConstReference> |
auto | extract_vortex_core_lines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, Vec3< Real >, HasNonConstReference > const &v, detail::rectilinear_grid::typed_vertex_property_interface< Grid, Mat3< Real >, HasNonConstReference > const &J, algorithm::sujudi_haimes_tag const) |
|
template<typename Grid , typename Real , bool HasNonConstReference> |
auto | extract_vortex_core_lines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, vec< Real, 3 >, HasNonConstReference > const &v) |
|
template<typename Grid , typename Real , bool HasNonConstReference> |
auto | extract_vortex_core_lines (detail::rectilinear_grid::typed_vertex_property_interface< Grid, Vec3< Real >, HasNonConstReference > const &v, detail::rectilinear_grid::typed_vertex_property_interface< Grid, Mat3< Real >, HasNonConstReference > const &J) |
|
template<typename V , typename Real > |
auto | vorticity (const field< V, Real, 3, 3 > &vf) |
|