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