ngspice/src/include/cmproto.h

108 lines
2.9 KiB
C
Executable File

#ifndef CMPROTO_DEFINED
#define CMPROTO_DEFINED
/* ===========================================================================
FILE CMproto.h
MEMBER OF process XSPICE
Copyright 1991
Georgia Tech Research Corporation
Atlanta, Georgia 30332
All Rights Reserved
PROJECT A-8503
AUTHORS
9/12/91 Jeff Murray, Bill Kuhn
MODIFICATIONS
<date> <person name> <nature of modifications>
SUMMARY
This file contains ANSI C function prototypes for cm_xxx functions
called by code models.
INTERFACES
None.
REFERENCED FILES
None.
NON-STANDARD FEATURES
None.
=========================================================================== */
/* Prototypes for functions used by internal code models */
/* The actual functions reside in ../ICM/CMutil.c */
/* 12/17/90 */
#include <stdio.h>
#include "cmtypes.h"
void cm_climit_fcn(double in, double in_offset, double cntl_upper,
double cntl_lower, double lower_delta,
double upper_delta, double limit_range,
double gain, int percent, double *out_final,
double *pout_pin_final, double *pout_pcntl_lower_final,
double *pout_pcntl_upper_final);
void cm_smooth_corner(double x_input, double x_center, double y_center,
double domain, double lower_slope, double upper_slope,
double *y_output, double *dy_dx);
void cm_smooth_discontinuity(double x_input, double x_lower, double y_lower,
double x_upper, double y_upper,
double *y_output, double *dy_dx);
double cm_smooth_pwl(double x_input, double *x, double *y, int size,
double input_domain, double *dout_din);
double cm_analog_ramp_factor(void);
void cm_analog_alloc(int tag, int bytes);
void *cm_analog_get_ptr(int tag, int timepoint);
int cm_analog_integrate(double integrand, double *integral, double *partial);
int cm_analog_converge(double *state);
int cm_analog_set_temp_bkpt(double time);
int cm_analog_set_perm_bkpt(double time);
void cm_analog_not_converged(void);
void cm_analog_auto_partial(void);
void cm_event_alloc(int tag, int bytes);
void *cm_event_get_ptr(int tag, int timepoint);
int cm_event_queue(double time);
char *cm_message_get_errmsg(void);
int cm_message_send(char *msg);
double cm_netlist_get_c(void);
double cm_netlist_get_l(void);
Complex_t cm_complex_set(double real, double imag);
Complex_t cm_complex_add(Complex_t x, Complex_t y);
Complex_t cm_complex_subtract(Complex_t x, Complex_t y);
Complex_t cm_complex_multiply(Complex_t x, Complex_t y);
Complex_t cm_complex_divide(Complex_t x, Complex_t y);
FILE *cm_stream_out(void);
FILE *cm_stream_in(void);
FILE *cm_stream_err(void);
void *malloc_pj(size_t s);
void *calloc_pj(size_t s1, size_t s2);
void *realloc_pj(void *ptr, size_t s);
void free_pj(void *ptr);
FILE *fopen_with_path(const char *path, const char *mode);
#endif /* CMPROTO_DEFINED */