/************
Copyright © 1996 Norlinvest Ltd. All rights reserved.
Visual Code Model Generator, EDSpice, EDWin, EE Designer, CompCAD,
CAD 1000, CAD ABC and Visionics are trade marks of Norlinvest Ltd.
Copyright © 1983 - 1996.
*
*
Copyright 1991
Georgia Tech Research Corporation
Atlanta, Georgia 30332
All Rights Reserved
*************/

#ifndef ENH_HEADER
#define ENH_HEADER x

#include "MIFtypes.h"
#include "FTEinp.h"

typedef enum {
    ENH_ANALOG_NODE,  
    ENH_EVENT_NODE,  
    ENH_ANALOG_BRANCH,  
    ENH_ANALOG_INSTANCE,
    ENH_EVENT_INSTANCE, 
    ENH_HYBRID_INSTANCE,  
} Enh_Conv_Source_t;


typedef struct {
   double           current; 
   double           last; 
} Enh_Bkpt_t;

typedef struct {
    double           ramptime;  
} Enh_Ramp_t;

typedef struct {
    Mif_Boolean_t    last_NIiter_call;  
    Mif_Boolean_t    report_conv_probs;
} Enh_Conv_Debug_t;


typedef struct {
    Mif_Boolean_t    enabled;       
    double           abs_step;        
    double           step;            
} Enh_Conv_Limit_t;


typedef struct {
    Mif_Boolean_t    enabled;
    double           gshunt; 
    int              num_nodes;
    double           **diag;
} Enh_Rshunt_t;


typedef struct {
    Enh_Bkpt_t       breakpoint; 
    Enh_Ramp_t       ramp; 
    Enh_Conv_Debug_t conv_debug;
    Enh_Conv_Limit_t conv_limit;
    Enh_Rshunt_t     rshunt_data;
} Enh_Ckt_Data_t;

void ENHreport_conv_prob(Enh_Conv_Source_t type, char *name, char *msg);
struct line *ENHtranslate_poly(struct line *deck);

#endif /* ENH_HEADER */
