// Emacs -*- C++ -*-

//
//	Copyright 1993, Center for Computer Vision and Visualization,
//	University of Florida.  All rights reserved.
//

//
// It's the Friendly Basepointer Inspector class!
//

//
// $Log: FBI.c,v $
// Revision 1.4.1.2  1995/01/13  19:37:42  thoth
// CoreImage has been re-merged with Image.  All special stuff should be
// friends of FBI now.
//
// Revision 1.4.1.1  1994/12/28  18:29:10  thoth
// conversion to throw of classes.
//
// Revision 1.4  1994/09/16  14:57:11  thoth
// more DOS-inspired renaming.
//
// Revision 1.3  1994/08/22  15:20:29  thoth
// DOS-inspired name rework.
//
// Revision 1.2  1994/03/30  13:56:17  thoth
// functions are now inlines to eliminate need for ptrepository objects.
//
// Revision 1.1  1994/03/22  16:08:28  thoth
// Initial revision
//

#include "FBI.h"

#include <limits.h>
#include <values.h>

#include "PSIter.h"

#include "Image.h"
#include "ConstI.h"
#include "VectorI.h"
#include "ImageIter.h"

#include "DDTempl.h"
#include "InvDT.h"

#include "image_errors.h"

#if 0
template <class P,class T>
IA_BaseImage<P,T> * IA_FBI<P,T>::extract_baseptr(const IA_Image<P,T>&i)
{
    return i.bip;
}
template <class P,class T>
IA_BaseDT<IA_Image<P,T> > * IA_FBI<P,T>::extract_baseptr
(const IA_DDTemplate<IA_Image<P,T> >&t)
{
    return t.bdtp;
}

template <class P,class T>
IA_DDTemplate<IA_Image<P,T> > IA_FBI<P,T>::make_DT
(IA_BaseDT<IA_Image<P,T> > *ptr)
{
    return ptr;
}
#endif


template <class T>
inline T max(T a, T b)
{
    return (a<b)?b:a;
}

template <class T>
inline T min(T a, T b)
{
    return (a<b)?a:b;
}
#include "BitConv.c"
#include "UcharConv.c"
#include "IntConv.c"
#include "FloatConv.c"
#include "CplxConv.c"
