#ifndef macrolib_ibis_k_INCLUDED
#define macrolib_ibis_k_INCLUDED
#if defined(__GNUC__) && defined(unix)
#  pragma interface "macrolib_ibis_k.hpp"
#endif
#ifndef macrolib_ibis_k_export
#  if defined(_WIN32) && !defined(unix)
#    define macrolib_ibis_k_export __declspec(dllimport)
#  else
#    define macrolib_ibis_k_export
#  endif
#endif
#include "smash_enum.h"
#include "std_standard.hpp"
using namespace STD;
#include "ieee_electrical_systems.hpp"
using namespace IEEE;
#include "ieee_math_real.hpp"
using namespace IEEE;
namespace MACROLIB
{
class macrolib_ibis_k_export IBIS_K {
public:
const char *mInstanceName;
static STANDARD_REAL smG_LVAL_1;
static unsigned smGF_LVAL_1;
unsigned mGF_LVAL_1 : 1;
const STANDARD_REAL LVAL_1;
static STANDARD_REAL smG_LVAL_2;
static unsigned smGF_LVAL_2;
unsigned mGF_LVAL_2 : 1;
const STANDARD_REAL LVAL_2;
static STANDARD_REAL smG_KVAL;
static unsigned smGF_KVAL;
unsigned mGF_KVAL : 1;
const STANDARD_REAL KVAL;
static STANDARD_REAL smG_I0_1;
static unsigned smGF_I0_1;
unsigned mGF_I0_1 : 1;
const STANDARD_REAL I0_1;
static STANDARD_REAL smG_I0_2;
static unsigned smGF_I0_2;
unsigned mGF_I0_2 : 1;
const STANDARD_REAL I0_2;
static STANDARD_REAL smG_SCALE;
static unsigned smGF_SCALE;
unsigned mGF_SCALE : 1;
const STANDARD_REAL SCALE;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_P1;
static unsigned smPF_P1;
static short smPT_P1;
unsigned mPF_P1 : 4;
short mPT_P1;
static const char *smAN_P1;
ELECTRICAL_SYSTEMS_ELECTRICAL &P1;
static double smExpression_P1;
double mExpression_P1;
VHDL_Dispatcher *P1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_N1;
static unsigned smPF_N1;
static short smPT_N1;
unsigned mPF_N1 : 4;
short mPT_N1;
static const char *smAN_N1;
ELECTRICAL_SYSTEMS_ELECTRICAL &N1;
static double smExpression_N1;
double mExpression_N1;
VHDL_Dispatcher *N1_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_P2;
static unsigned smPF_P2;
static short smPT_P2;
unsigned mPF_P2 : 4;
short mPT_P2;
static const char *smAN_P2;
ELECTRICAL_SYSTEMS_ELECTRICAL &P2;
static double smExpression_P2;
double mExpression_P2;
VHDL_Dispatcher *P2_dispatchers;
static ELECTRICAL_SYSTEMS_ELECTRICAL* smP_N2;
static unsigned smPF_N2;
static short smPT_N2;
unsigned mPF_N2 : 4;
short mPT_N2;
static const char *smAN_N2;
ELECTRICAL_SYSTEMS_ELECTRICAL &N2;
static double smExpression_N2;
double mExpression_N2;
VHDL_Dispatcher *N2_dispatchers;
virtual short ElaborateConfiguration(const char *, long) = 0;
public:
IBIS_K();
virtual ~IBIS_K();
};
extern "C" macrolib_ibis_k_export const char *MACROLIB_IBIS_K_GetPortName(short);
extern "C" macrolib_ibis_k_export void MACROLIB_IBIS_K_InitStaticGenericPort(void);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_SetGeneric(const char *, const char *, const char *, const T_B3CIValue *);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_SetPort(short inLang, const char *, const char *, const char *, const char *, void *, long, double, short, short);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_InstantiateUnmappedPort(const char *);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_Elaborate(T_B3CIHandle *, const char *, long, short);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_Initialize(T_B3CIHandle, long, double *);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_Finalize(T_B3CIHandle);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_AmsLink(T_B3CIHandle, long, long **);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_AmsBim(T_B3CIHandle, long, TRANS_PARAM_BIM *, long **);
extern "C" macrolib_ibis_k_export short MACROLIB_IBIS_K_AmsConverge(T_B3CIHandle, long, long **, double *, unsigned char *, ANALYSISTYPE);
}
#endif /* macrolib_ibis_k_INCLUDED */
