Home
last modified time | relevance | path

Searched refs:icl (Results 1 – 25 of 305) sorted by relevance

12345678910>>...13

/third_party/boost/libs/icl/doc/html/
Dstandalone_HTML.manifest60 boost/icl/closed_interval.html
61 boost/icl/interval_idm46087634062464.html
62 boost/icl/interval_idm46087634055712.html
63 boost/icl/type_to__idm46087607866272.html
64 boost/icl/value_si_idm46087607861616.html
65 header/boost/icl/continuous_interval_hpp.html
66 boost/icl/continuous_interval.html
67 boost/icl/dynamic__idm46087607822016.html
68 boost/icl/interval_idm46087607805584.html
69 boost/icl/interval_idm46087607798832.html
[all …]
/third_party/boost/libs/icl/test/test_changing_interval_defaults_/
Dtest_changing_interval_defaults.cpp8 #define BOOST_TEST_MODULE icl::test_doc_code unit test
41 using namespace boost::icl;
48 … BOOST_CHECK( (boost::is_same<icl::interval<int >::type, right_open_interval<int > >::value) ); in BOOST_AUTO_TEST_CASE()
49 … BOOST_CHECK( (boost::is_same<icl::interval<double>::type, right_open_interval<double> >::value) ); in BOOST_AUTO_TEST_CASE()
51 …BOOST_CHECK_EQUAL( icl::interval<int>::open(0,2), icl::construct<right_open_interval<int> >(… in BOOST_AUTO_TEST_CASE()
52 …BOOST_CHECK_EQUAL( icl::interval<int>::left_open(0,1), icl::construct<right_open_interval<int> >(… in BOOST_AUTO_TEST_CASE()
53 …BOOST_CHECK_EQUAL( icl::interval<int>::right_open(1,2), icl::construct<right_open_interval<int> >(… in BOOST_AUTO_TEST_CASE()
54 …BOOST_CHECK_EQUAL( icl::interval<int>::closed(1,1), icl::construct<right_open_interval<int> >(… in BOOST_AUTO_TEST_CASE()
56 …BOOST_CHECK_EQUAL( icl::interval<float>::right_open(1.0,2.0), icl::construct<right_open_interval<f… in BOOST_AUTO_TEST_CASE()
64 BOOST_CHECK( (boost::is_same<icl::interval<int>::type, open_interval<int> >::value) ); in BOOST_AUTO_TEST_CASE()
[all …]
/third_party/boost/libs/icl/test/
Dtest_interval_laws.hpp23 namespace boost{ namespace icl namespace
31 domain_type lo = icl::lower(itv); in check_border_containedness()
32 domain_type up = icl::upper(itv); in check_border_containedness()
35 BOOST_CHECK_EQUAL(icl::contains(itv, icl::identity_element<Type>::value()), true); in check_border_containedness()
37 BOOST_CHECK_EQUAL(icl::contains(itv, itv), true); in check_border_containedness()
39 if(icl::bounds(itv) == interval_bounds::closed()) in check_border_containedness()
41 BOOST_CHECK_EQUAL(icl::contains(itv, lo), true); in check_border_containedness()
42 BOOST_CHECK_EQUAL(icl::contains(itv, up), true); in check_border_containedness()
43 BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>:: closed(lo,up)), true); in check_border_containedness()
44 BOOST_CHECK_EQUAL(icl::contains(itv, icl::interval<domain_type>::right_open(lo,up)), true); in check_border_containedness()
[all …]
Dtest_icl_interval.hpp21 typedef typename icl::size_type_of<T>::type SizeT; in interval_ctor_4_ordered_types()
22 T t_0 = icl::identity_element<T>::value(); in interval_ctor_4_ordered_types()
23 T t_1 = icl::unit_element<T>::value(); in interval_ctor_4_ordered_types()
24 SizeT s_0 = icl::identity_element<SizeT>::value(); in interval_ctor_4_ordered_types()
25 SizeT s_1 = icl::unit_element<SizeT>::value(); in interval_ctor_4_ordered_types()
28 BOOST_CHECK_EQUAL( icl::is_empty(IntervalT()), true ); in interval_ctor_4_ordered_types()
29 BOOST_CHECK_EQUAL( icl::cardinality(IntervalT()), s_0 ); in interval_ctor_4_ordered_types()
30 BOOST_CHECK_EQUAL( icl::size(IntervalT()), s_0 ); in interval_ctor_4_ordered_types()
34 BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) ); in interval_ctor_4_ordered_types()
36 BOOST_CHECK_EQUAL(icl::cardinality(IntervalT(t_0, t_1)) >= s_1, true); in interval_ctor_4_ordered_types()
[all …]
Dtest_icl_interval_shared.hpp21 BOOST_CHECK_EQUAL(icl::length(inner_complement(itv1,itv2)), icl::distance(itv1,itv2)); in test_inner_complement()
22 BOOST_CHECK_EQUAL(icl::length(inner_complement(itv1,itv2)), icl::distance(itv2,itv1)); in test_inner_complement()
23 BOOST_CHECK_EQUAL(icl::length(inner_complement(itv2,itv1)), icl::distance(itv1,itv2)); in test_inner_complement()
24 BOOST_CHECK_EQUAL(icl::length(inner_complement(itv2,itv1)), icl::distance(itv2,itv1)); in test_inner_complement()
37 BOOST_CHECK_EQUAL(icl::length(inner_comp), icl::distance(itv1,itv2)); in test_inner_complement()
38 BOOST_CHECK_EQUAL(icl::length(inner_comp), icl::distance(itv2,itv1)); in test_inner_complement()
40 BOOST_CHECK(icl::disjoint(itv1, in_comp)); in test_inner_complement()
41 BOOST_CHECK(icl::disjoint(itv2, in_comp)); in test_inner_complement()
46 if(!icl::is_empty(in_comp)) in test_inner_complement()
48 BOOST_CHECK(icl::intersects(itv1_comp, in_comp)); in test_inner_complement()
[all …]
Dtest_icl_dynamic_interval.hpp16 BOOST_CHECK_EQUAL(IntervalT().lower(), icl::identity_element<T>::value()); in dynamic_interval_ctor_4_ordered_types()
17 BOOST_CHECK_EQUAL(IntervalT().upper(), icl::identity_element<T>::value()); in dynamic_interval_ctor_4_ordered_types()
18 BOOST_CHECK_EQUAL(icl::lower(IntervalT()), icl::identity_element<T>::value()); in dynamic_interval_ctor_4_ordered_types()
19 BOOST_CHECK_EQUAL(icl::upper(IntervalT()), icl::identity_element<T>::value()); in dynamic_interval_ctor_4_ordered_types()
21 …IntervalT empty_itv = IntervalT(icl::identity_element<T>::value(), icl::identity_element<T>::value… in dynamic_interval_ctor_4_ordered_types()
23 …BOOST_CHECK_EQUAL(IntervalT(), IntervalT(icl::identity_element<T>::value(), icl::identity_element<… in dynamic_interval_ctor_4_ordered_types()
24 …BOOST_CHECK_EQUAL(IntervalT(), IntervalT(icl::identity_element<T>::value(), icl::identity_element<… in dynamic_interval_ctor_4_ordered_types()
30 typedef typename icl::interval<T>::type IntervalT; in dynamic_interval_bounds_4_bicremental_types()
33 …BOOST_CHECK_EQUAL( icl::identity_element<T>::value(), icl::pred(icl::succ(icl::identity_element<T>… in dynamic_interval_bounds_4_bicremental_types()
34 …BOOST_CHECK_EQUAL( icl::unit_element<T>::value(), icl::succ(icl::identity_element<T>::value())… in dynamic_interval_bounds_4_bicremental_types()
[all …]
Dtest_interval_map_shared.hpp33 T v0 = boost::icl::identity_element<T>::value(); in interval_map_fundamentals_4_ordered_types()
40 IntervalT I0_1I = icl::interval<T>::closed(v0, v1); in interval_map_fundamentals_4_ordered_types()
48 BOOST_CHECK_EQUAL(icl::is_empty(IntervalMapT()), true); in interval_map_fundamentals_4_ordered_types()
49 BOOST_CHECK_EQUAL(cardinality(IntervalMapT()), boost::icl::identity_element<size_T>::value()); in interval_map_fundamentals_4_ordered_types()
50 BOOST_CHECK_EQUAL(IntervalMapT().size(), boost::icl::identity_element<size_T>::value()); in interval_map_fundamentals_4_ordered_types()
51 BOOST_CHECK_EQUAL(icl::size(IntervalMapT()), boost::icl::identity_element<size_T>::value()); in interval_map_fundamentals_4_ordered_types()
57 IntervalT mt_interval = boost::icl::identity_element<IntervalT >::value(); in interval_map_fundamentals_4_ordered_types()
60 IntervalMapT mt_map = boost::icl::identity_element<IntervalMapT >::value(); in interval_map_fundamentals_4_ordered_types()
70 BOOST_CHECK_EQUAL(hull(mt_map), boost::icl::identity_element<IntervalT >::value()); in interval_map_fundamentals_4_ordered_types()
143 BOOST_CHECK_EQUAL(icl::contains(single_I0_0I_u1, v0), true); in interval_map_fundamentals_4_ordered_types()
[all …]
Dtest_icl_static_interval.hpp14 BOOST_CHECK_EQUAL(icl::is_empty(IntervalT()), true); in static_interval_ctor_4_ordered_types()
15 …BOOST_CHECK_EQUAL(icl::cardinality(IntervalT()), icl::identity_element<typename icl::size_type_of<… in static_interval_ctor_4_ordered_types()
16 …BOOST_CHECK_EQUAL(icl::size(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::typ… in static_interval_ctor_4_ordered_types()
20 BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) ); in static_interval_ctor_4_ordered_types()
Dtest_interval_set_shared.hpp26 T v0 = boost::icl::identity_element<T>::value(); in interval_set_fundamentals_4_ordered_types()
36 BOOST_CHECK_EQUAL(icl::is_empty(IntervalSet<T>()), true); in interval_set_fundamentals_4_ordered_types()
37 BOOST_CHECK_EQUAL(cardinality(IntervalSet<T>()), boost::icl::identity_element<size_T>::value()); in interval_set_fundamentals_4_ordered_types()
38 BOOST_CHECK_EQUAL(IntervalSet<T>().size(), boost::icl::identity_element<size_T>::value()); in interval_set_fundamentals_4_ordered_types()
44 IntervalT mt_interval = boost::icl::identity_element<IntervalT>::value(); in interval_set_fundamentals_4_ordered_types()
46 IntervalSet<T> mt_set = boost::icl::identity_element<IntervalSet<T> >::value(); in interval_set_fundamentals_4_ordered_types()
56 BOOST_CHECK_EQUAL(hull(mt_set), boost::icl::identity_element<IntervalT >::value()); in interval_set_fundamentals_4_ordered_types()
103 BOOST_CHECK_EQUAL(icl::hull(single_I0_0I).lower(), I0_0I.lower()); in interval_set_fundamentals_4_ordered_types()
104 BOOST_CHECK_EQUAL(icl::hull(single_I0_0I).upper(), I0_0I.upper()); in interval_set_fundamentals_4_ordered_types()
122 BOOST_CHECK_EQUAL(icl::contains(single_I0_0I, v0), true); in interval_set_fundamentals_4_ordered_types()
[all …]
/third_party/boost/boost/icl/
Dfunctors.hpp18 namespace boost{namespace icl namespace
26 … inline static Type identity_element() { return boost::icl::identity_element<Type>::value(); } in identity_element()
35 inline static Type identity_element() { return boost::icl::unit_element<Type>::value(); } in identity_element()
266 icl::inplace_et<Type>,
267 icl::inplace_plus<Type>
283 struct inverse<icl::inplace_plus<Type> >
284 { typedef icl::inplace_minus<Type> type; };
287 struct inverse<icl::inplace_minus<Type> >
288 { typedef icl::inplace_plus<Type> type; };
291 struct inverse<icl::inplace_bit_add<Type> >
[all …]
Dcontinuous_interval.hpp23 namespace boost{namespace icl namespace
47 BOOST_STATIC_ASSERT((icl::is_continuous<DomainT>::value)); in continuous_interval()
58 BOOST_STATIC_ASSERT((icl::is_continuous<DomainT>::value)); in continuous_interval()
69 BOOST_STATIC_ASSERT((icl::is_continuous<DomainT>::value)); in continuous_interval()
92 struct interval_traits< icl::continuous_interval<DomainT, Compare> >
97 typedef icl::continuous_interval<DomainT, Compare> interval_type;
113 struct dynamic_interval_traits<boost::icl::continuous_interval<DomainT,Compare> >
116 typedef boost::icl::continuous_interval<DomainT,Compare> interval_type;
122 return icl::continuous_interval<DomainT,Compare>(lo, up, bounds, in construct()
123 static_cast<icl::continuous_interval<DomainT,Compare>* >(0) ); in construct()
[all …]
Dinterval_base_set.hpp39 namespace boost{namespace icl namespace
147 typedef boost::icl::element_iterator<iterator> element_iterator;
149 typedef boost::icl::element_iterator<const_iterator> element_const_iterator;
151 typedef boost::icl::element_iterator<reverse_iterator> element_reverse_iterator;
153 typedef boost::icl::element_iterator<const_reverse_iterator> element_const_reverse_iterator;
209 void clear() { icl::clear(*that()); } in clear()
211 bool empty()const { return icl::is_empty(*that()); } in empty()
219 return icl::cardinality(*that()); in size()
235 return icl::find(*this, key_value); in find()
252 return icl::add(*that(), key); in add()
[all …]
Dinterval_base_map.hpp28 namespace boost{namespace icl namespace
52 class Traits = icl::partial_absorber,
54 ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT),
55 ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT),
82 typedef typename icl::map<DomainT,CodomainT,
177 typedef boost::icl::element_iterator<iterator> element_iterator;
179 typedef boost::icl::element_iterator<const_iterator> element_const_iterator;
181 typedef boost::icl::element_iterator<reverse_iterator> element_reverse_iterator;
183 typedef boost::icl::element_iterator<const_reverse_iterator> element_const_reverse_iterator;
258 void clear() { icl::clear(*that()); } in clear()
[all …]
Ddiscrete_interval.hpp23 namespace boost{namespace icl namespace
47 BOOST_STATIC_ASSERT((icl::is_discrete<DomainT>::value)); in discrete_interval()
58 BOOST_STATIC_ASSERT((icl::is_discrete<DomainT>::value)); in discrete_interval()
69 BOOST_STATIC_ASSERT((icl::is_discrete<DomainT>::value)); in discrete_interval()
91 struct interval_traits< icl::discrete_interval<DomainT, Compare> >
96 typedef icl::discrete_interval<DomainT, Compare> interval_type;
111 struct dynamic_interval_traits<boost::icl::discrete_interval<DomainT,Compare> >
114 typedef boost::icl::discrete_interval<DomainT,Compare> interval_type;
153 struct type_to_string<icl::discrete_interval<DomainT,Compare> >
160 struct value_size<icl::discrete_interval<DomainT> >
[all …]
Dright_open_interval.hpp18 namespace boost{namespace icl namespace
46 : _lwb(val), _upb(icl::successor<DomainT,domain_compare>::apply(val)) in right_open_interval()
52 BOOST_STATIC_ASSERT((icl::is_discrete<DomainT>::value)); in right_open_interval()
75 struct interval_traits< icl::right_open_interval<DomainT, Compare> >
79 typedef icl::right_open_interval<DomainT, Compare> interval_type;
102 struct type_to_string<icl::right_open_interval<DomainT,Compare> >
109 struct value_size<icl::right_open_interval<DomainT,Compare> >
111 static std::size_t apply(const icl::right_open_interval<DomainT>&) in apply()
/third_party/boost/libs/icl/doc/
Dicl.qbk23 [def __itv__ [classref boost::icl::interval interval]]
24 [def __Itv__ [classref boost::icl::interval Interval]]
26 [def __itv_tr__ [classref boost::icl::interval_traits interval_traits]]
27 [def __Itv_tr__ [classref boost::icl::interval_traits Interval_traits]]
29 [def __ro_itv__ [classref boost::icl::right_open_interval right_open_interval]]
30 [def __lo_itv__ [classref boost::icl::left_open_interval left_open_interval]]
31 [def __op_itv__ [classref boost::icl::open_interval open_interval]]
32 [def __cl_itv__ [classref boost::icl::closed_interval closed_interval]]
34 [def __dc_itv__ [classref boost::icl::discrete_interval discrete_interval]]
35 [def __ct_itv__ [classref boost::icl::continuous_interval continuous_interval]]
[all …]
/third_party/boost/libs/icl/test/fix_tickets_/
Dfix_tickets.cpp8 #define BOOST_TEST_MODULE icl::fix_icl_after_thread unit test
23 using namespace boost::icl;
50 typedef boost::icl::interval_set<boost::uint32_t, std::greater> Set; in BOOST_AUTO_TEST_CASE()
65 typedef boost::icl::interval<Value> Interval; in BOOST_AUTO_TEST_CASE()
72 BOOST_CHECK(!icl::is_empty(Interval::open(max - 2, max))); in BOOST_AUTO_TEST_CASE()
73 BOOST_CHECK( icl::is_empty(Interval::open(max - 1, max))); in BOOST_AUTO_TEST_CASE()
74 BOOST_CHECK( icl::is_empty(Interval::open(max, max))); in BOOST_AUTO_TEST_CASE()
80 typedef boost::icl::interval<Value> Interval; in BOOST_AUTO_TEST_CASE()
86 boost::icl::interval_map<Value, int, boost::icl::total_enricher> intervals; in BOOST_AUTO_TEST_CASE()
96 boost::icl::split_interval_map <int, int> a, b; in BOOST_AUTO_TEST_CASE()
[all …]
/third_party/boost/boost/icl/concept/
Dinterval_set.hpp17 namespace boost{ namespace icl namespace
30 return !(icl::find(super, element) == super.end()); in contains()
38 if(icl::is_empty(inter_val)) in contains()
49 icl::contains(hull(*(exterior.first), *last_overlap), inter_val) in contains()
79 return icl::add(object, icl::singleton<segment_type>(operand)); in add()
103 return icl::add(object, operand); in insert()
110 return icl::add(object, operand); in insert()
121 return icl::add(object, prior, operand); in insert()
142 return icl::subtract(object, icl::singleton<segment_type>(operand)); in subtract()
155 return icl::subtract(object, minuend); in erase()
[all …]
Dinterval.hpp34 namespace boost{namespace icl namespace
72 return icl::successor<domain_type,domain_compare>::apply(value); in domain_next()
82 return icl::predecessor<domain_type,domain_compare>::apply(value); in domain_prior()
591 return icl::is_empty(left) || icl::is_empty(right) in exclusive_less()
599 return icl::is_empty(left) || icl::is_empty(right) in exclusive_less()
608 return icl::is_empty(left) || icl::is_empty(right) in exclusive_less()
616 return icl::is_empty(left) || icl::is_empty(right) in exclusive_less()
797 BOOST_ASSERT(!(icl::is_empty(left) || icl::is_empty(right))); in exclusive_less()
805 BOOST_ASSERT(!(icl::is_empty(left) || icl::is_empty(right))); in exclusive_less()
814 BOOST_ASSERT(!(icl::is_empty(left) || icl::is_empty(right))); in exclusive_less()
[all …]
Dinterval_map.hpp22 namespace boost{ namespace icl namespace
31 return segment_type(icl::singleton<interval_type>(element.key), element.data); in make_segment()
46 const_iterator it_ = icl::find(super, key_value_pair.key); in contains()
58 if(icl::is_empty(sub_interval)) in contains()
71 icl::contains(hull(exterior.first->first, last_overlap->first), sub_interval) in contains()
105 return icl::find(super, key) != super.end(); in contains()
116 if(icl::is_empty(sub_interval)) in contains()
126 icl::contains(hull(exterior.first->first, last_overlap->first), sub_interval) in contains()
156 return icl::add(object, make_segment<Type>(operand)); in add()
187 return icl::insert(object, make_segment<Type>(operand)); in insert()
[all …]
Delement_associator.hpp19 namespace boost{ namespace icl namespace
36 return icl::iterative_size(object); in size()
43 return icl::iterative_size(object); in cardinality()
70 if(icl::is_empty(sub)) return true; in within()
71 if(icl::is_empty(super)) return false; in within()
72 if(icl::size(super) < icl::size(sub)) return false; in within()
101 return icl::within(key, super); in contains()
113 return icl::within(sub, super); in contains()
173 return icl::add(object, operand); in operator +=()
199 prior_ = icl::add(object, prior_, *it_); in operator +=()
[all …]
/third_party/boost/boost/icl/detail/
Dset_algo.hpp20 namespace boost{namespace icl namespace
38 if(icl::is_empty(x1) || icl::is_empty(x2)) in common_range()
48 if(key_less(icl::key_value< PureObjectT>(x1_lst_), in common_range()
49 icl::key_value<ConstObjectT>(x2_fst_))) // {x1} {x2} in common_range()
51 if(key_less(icl::key_value<ConstObjectT>(x2_lst_), in common_range()
52 icl::key_value< PureObjectT>(x1_fst_))) // {x2} {x1} in common_range()
56 lwb = x1.lower_bound(icl::key_value<ConstObjectT>(x2_fst_)); in common_range()
57 upb = x1.upper_bound(icl::key_value<ConstObjectT>(x2_lst_)); in common_range()
69 if(icl::is_empty(sub)) return true; in within()
70 if(icl::is_empty(super)) return false; in within()
Dinterval_morphism.hpp19 namespace boost{namespace icl namespace
28 … const typename IntervalContainerT::key_type& itv = icl::key_value<IntervalContainerT>(itv_); in atomize()
29 … typename IntervalContainerT::codomain_type coval = icl::co_value<IntervalContainerT>(itv_); in atomize()
32 icl::insert(result, icl::make_value<ElementContainerT>(element, coval)); in atomize()
47 result += icl::make_value<IntervalContainerT>(key_type(key), coval); in cluster()
74 icl::join(split); in operator ()()
85 icl::absorb_identities(enricher); in operator ()()
/third_party/boost/libs/icl/test/test_misc_/
Dtest_misc.cpp8 #define BOOST_TEST_MODULE icl::misc unit test
34 using namespace boost::icl;
148 BOOST_CHECK_EQUAL(icl::bounds(b_2), interval_bounds::right_open()); in BOOST_AUTO_TEST_CASE()
155 BOOST_CHECK_EQUAL(icl::is_empty(L0T), false); in BOOST_AUTO_TEST_CASE()
156 BOOST_CHECK_EQUAL(icl::is_empty(C0T), true); in BOOST_AUTO_TEST_CASE()
157 BOOST_CHECK_EQUAL(icl::is_empty(L0D), true); in BOOST_AUTO_TEST_CASE()
158 BOOST_CHECK_EQUAL(icl::is_empty(C0D), true); in BOOST_AUTO_TEST_CASE()
163 BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1T, L1_2T), false); in BOOST_AUTO_TEST_CASE()
164 BOOST_CHECK_EQUAL(icl::inner_bounds(L0_1T, L1_2T) == interval_bounds::open(), true); in BOOST_AUTO_TEST_CASE()
167 BOOST_CHECK_EQUAL(icl::exclusive_less(L0_1D, L1_2T), true); in BOOST_AUTO_TEST_CASE()
[all …]
/third_party/mesa3d/src/broadcom/vulkan/
Dv3dvx_queue.c79 struct v3dv_cl *icl = &job->indirect; in v3dX() local
80 v3dv_cl_ensure_space(icl, 200, 1); in v3dX()
81 struct v3dv_cl_reloc tile_list_start = v3dv_cl_get_address(icl); in v3dX()
83 cl_emit(icl, TILE_COORDINATES_IMPLICIT, coords); in v3dX()
85 cl_emit(icl, END_OF_LOADS, end); in v3dX()
87 cl_emit(icl, BRANCH_TO_IMPLICIT_TILE_LIST, branch); in v3dX()
89 cl_emit(icl, STORE_TILE_BUFFER_GENERAL, store) { in v3dX()
93 cl_emit(icl, END_OF_TILE_MARKER, end); in v3dX()
95 cl_emit(icl, RETURN_FROM_SUB_LIST, ret); in v3dX()
99 branch.end = v3dv_cl_get_address(icl); in v3dX()

12345678910>>...13