// /*-------------------------------------------------------------------*\ // | Abstract Instance : Natural_Root // \*-------------------------------------------------------------------*/ #ifndef AI_NATURAL_ROOT #define AI_NATURAL_ROOT 1 ///------------------------------------------------------------------------ /// Global Context -------------------------------------------------------- ///------------------------------------------------------------------------ #include "AI/Natural/Kernel.h" ///------------------------------------------------------------------------ /// Interface ------------------------------------------------------------- ///------------------------------------------------------------------------ abstract_instance class Natural_Root : extends abstract_instance Natural_Kernel { public: procedure Root ( preserves Integer r ) is_abstract; /*! requires r > 0 ensures self^(r) <= #self < (self+1)^(r) !*/ }; #endif // AI_NATURAL_ROOT