MOAB  4.9.3pre
Eigen::internal::meta_sqrt< Y, InfX, SupX, Done > Class Template Reference

#include <Meta.h>

List of all members.

Public Types

enum  { ret = meta_sqrt<Y,NewInf,NewSup>::ret }

Private Types

enum  { MidX = (InfX+SupX)/2 }

Detailed Description

template<int Y, int InfX = 0, int SupX = ((Y==1) ? 1 : Y/2), bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y)))>
class Eigen::internal::meta_sqrt< Y, InfX, SupX, Done >

In short, it computes int(sqrt(Y)) with Y an integer. Usage example:

 meta_sqrt<1023>::ret 

Definition at line 319 of file Meta.h.


Member Enumeration Documentation

template<int Y, int InfX = 0, int SupX = ((Y==1) ? 1 : Y/2), bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y)))>
anonymous enum [private]
Enumerator:
MidX 

Definition at line 321 of file Meta.h.

         {
      MidX = (InfX+SupX)/2,
      TakeInf = MidX*MidX > Y ? 1 : 0,
      NewInf = int(TakeInf) ? InfX : int(MidX),
      NewSup = int(TakeInf) ? int(MidX) : SupX
    };
template<int Y, int InfX = 0, int SupX = ((Y==1) ? 1 : Y/2), bool Done = ((SupX-InfX)<=1 ? true : ((SupX*SupX <= Y) && ((SupX+1)*(SupX+1) > Y)))>
anonymous enum
Enumerator:
ret 

Definition at line 328 of file Meta.h.

{ ret = meta_sqrt<Y,NewInf,NewSup>::ret };

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines