⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filtered_rational_traits.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
📖 第 1 页 / 共 2 页
字号:
                                        CGAL_DF_UNARY_CONSTRUCTION(Invert_variable, invert_variable);                                        CGAL_DF_UNARY_CONSTRUCTION_DATA(Rational_translate_zero, rational_translate_zero, NT);                                        CGAL_DF_UNARY_CONSTRUCTION_DATA(Shift_power, shift_power, int);                                        CGAL_DF_UNARY_CONSTRUCTION(Negate_variable, negate_variable);                                        CGAL_DF_BINARY_CONSTRUCTION(Quotient, quotient);                                        CGAL_DF_BINARY_CONSTRUCTION(Remainder, remainder);                                        CGAL_DF_BINARY_CONSTRUCTION(Pseudo_quotient, pseudo_quotient);                                        CGAL_DF_BINARY_CONSTRUCTION(Pseudo_remainder, pseudo_remainder);                                        CGAL_DF_BINARY_CONSTRUCTION(Quotient_remainder, quotient_remainder);                                        CGAL_DF_UNARY_CONSTRUCTION_DATA_2(Map_rational_interval_to_positive_2, map_rational_interval_to_positive_2, NT);                                        class Standard_sequence                                        {                                            public:                                                Standard_sequence(const Function& d, const This &k):                                                ss_(k.exact_traits_object().standard_sequence_object(d.exact_function())){}                                                Standard_sequence(){}                                                typedef unsigned int result_type;                                                typedef NT argument_type;                                                template<class T>                                                    unsigned int                                                    number_of_real_roots(const T& a, const T& b) const                                                {                                                    return ss_.number_of_real_roots_base(a, b);                                                }                                            protected:                                                typename Exact_traits::Standard_sequence ss_;                                        };                                        Standard_sequence standard_sequence_object(Function d) const                                        {                                            return Standard_sequence(d, *this);                                        }                                        class Sturm_sequence: public Exact_traits::Sturm_sequence                                        {                                            public:                                                Sturm_sequence(const Function& a, const Function& b, const This &k):                                                Exact_traits::Sturm_sequence(k.exact_traits_object().Sturm_sequence_object(a.exact_function(),                                                    b.exact_function())){}                                                Sturm_sequence(){}                                        };                                        Sturm_sequence Sturm_sequence_object(const Function &a, const Function &b) const                                        {//std::cout << "Stur of " << a << " and " << b << std::endl;                                            return Sturm_sequence(a,b, *this);                                        }                                        typedef Filtered_root_bound_evaluator<This> Root_bound;                                        Root_bound root_bound_object(bool pow_of_2=false) const                                        {                                            return Root_bound(pow_of_2, *this);                                        }                                        typedef internal::Sign_above_rational<This> Sign_above;                                        Sign_above sign_above_object(const Function &f) const                                        {//std::cout << "Sign above of " << f << std::endl;                                            return Sign_above(f, *this);                                        }                                        typedef internal::Sign_below_rational<This> Sign_below;                                        Sign_below sign_below_object(const Function &f) const                                        {//std::cout << "Sign below of " << f << std::endl;                                            return Sign_below(f, *this);                                        }                                        typedef Filtered_sign_at_rational<Function> Sign_at;                                        Sign_at sign_at_object(const Function &f) const                                        {//std::cout << "Sign at of " << f << std::endl;                                            return Sign_at(f);                                        }                                        typedef Filtered_are_negations<Function> Are_negations;                                        Are_negations are_negations_object() const                                        {                                            return Are_negations();                                        }                                        typedef Filtered_rational_multiplicity<This> Multiplicity;                                        Multiplicity multiplicity_object(const Function &f) const                                        {//std::cout << "Multiplicity of " << f << std::endl;                                            return Multiplicity(f, *this);                                        }                                        const Exact_traits &exact_traits_object() const                                        {                                            return et_;                                        }                                        const Interval_traits &interval_traits_object() const                                        {                                            return it_;                                        }                                        const Exact_to_interval_converter exact_to_interval_converter_object() const                                        {                                            return efc_;                                        }                                        typedef internal::Construct_filtered_function<Function> Construct_function;                                        Construct_function construct_function_object() const                                        {                                            return Construct_function(exact_to_interval_converter_object());                                        }                                        struct Compare_isolated_roots_in_interval                                        {                                            Compare_isolated_roots_in_interval(Function a, Function b, const This &k):                                            pred_(k.exact_traits_object().compare_isolated_roots_in_interval_object(a.exact_function(), b.exact_function())) {//std::cout << "Compare ir of " << a << " and " << b << std::endl;                                            }                                            typedef Comparison_result result_type;                                            typedef NT first_argument_type;                                            typedef NT second_argument_type;                                            Comparison_result operator()(const NT &a, const NT &b) const                                            {                                                return pred_(a,b);                                            }                                            typename Exact_traits::Compare_isolated_roots_in_interval pred_;                                        };                                        Compare_isolated_roots_in_interval compare_isolated_roots_in_interval_object(Function a, Function b) const                                        {                                            return Compare_isolated_roots_in_interval(a,b, *this);                                        }                                    protected:                                        Exact_traits et_;                                        Interval_traits it_;                                        Exact_to_interval_converter efc_;                                };                                CGAL_POLYNOMIAL_END_INTERNAL_NAMESPACE//#undef DF_UNARY_CONSTUCTION#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -