[Pkg-electronics-commits] [gnucap] 27/49: DISPATCHER_BASE and help command

felix salfelder felix-guest at moszumanska.debian.org
Tue Feb 2 21:39:58 UTC 2016


This is an automated email from the git hooks/post-receive script.

felix-guest pushed a commit to branch wip
in repository gnucap.

commit a1094c0ad0d863a9e1afc420edf08137833476b7
Author: al davis <ad211 at freeelectron.net>
Date:   Fri Jan 23 01:52:23 2015 -0500

    DISPATCHER_BASE and help command
---
 apps/Make.depend              | 685 +++++++++++++++++++++---------------------
 apps/Make1                    |   1 +
 apps/c_help.cc                |  97 ++++++
 apps/lang_spice.cc            |   5 +-
 include/bm.h                  |   4 +-
 include/e_base.h              |   3 +-
 include/e_compon.h            |   6 +-
 include/l_dispatcher.h        | 107 ++++---
 include/patchlev.h            |   2 +-
 include/u_function.h          |  12 +-
 include/u_lang.h              |   6 +-
 include/u_probe.h             |   8 +-
 lib/Make.depend               | 152 +++++-----
 lib/Make1                     |   5 +-
 lib/bm.cc                     |   6 +-
 lib/e_base.cc                 |  27 +-
 lib/e_compon.cc               |  10 +-
 lib/u_function.cc             |  33 +-
 lib/u_lang.cc                 |   7 +-
 lib/u_probe.cc                |  20 +-
 main/Make.depend              |   8 +-
 main/main.cc                  |   6 +-
 modelgen/Make.depend          |  31 +-
 tests/==out/bm_sffm.3.ckt.out |   2 +-
 tests/==out/c_help.1.ckt.out  |  25 ++
 tests/c_help.1.ckt            |  11 +
 26 files changed, 720 insertions(+), 559 deletions(-)

diff --git a/apps/Make.depend b/apps/Make.depend
index a7ff4a6..3e05dba 100644
--- a/apps/Make.depend
+++ b/apps/Make.depend
@@ -1,11 +1,11 @@
 d_mos1.o: d_mos1.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos1.h d_mos123.h d_mos_base.h d_mos.h d_diode.h \
  ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
@@ -13,10 +13,10 @@ d_mos1.o: d_mos1.cc ../include/globals.h ../include/l_dispatcher.h \
 d_mos2.o: d_mos2.cc ../include/l_compar.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/l_denoise.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
- ../include/globals.h ../include/l_dispatcher.h ../include/l_stlextra.h \
- ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
- ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
- ../include/m_matrix.h ../include/e_base.h ../include/m_cpoly.h \
+ ../include/globals.h ../include/l_dispatcher.h ../include/e_base.h \
+ ../include/l_stlextra.h ../include/ap.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
+ ../include/l_compar.h ../include/m_matrix.h ../include/m_cpoly.h \
  ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/e_card.h d_mos2.h d_mos123.h \
@@ -25,35 +25,35 @@ d_mos2.o: d_mos2.cc ../include/l_compar.h ../include/md.h \
 d_mos3.o: d_mos3.cc ../include/l_denoise.h ../include/u_opt.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/l_stlextra.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos3.h d_mos123.h d_mos_base.h d_mos.h d_diode.h \
  ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
  ../include/e_model.h
 d_mos4.o: d_mos4.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos4.h d_mos_base.h d_mos.h d_diode.h \
  ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
  ../include/e_model.h
 d_mos5.o: d_mos5.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos5.h d_mos_base.h d_mos.h d_diode.h \
  ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
@@ -61,10 +61,10 @@ d_mos5.o: d_mos5.cc ../include/globals.h ../include/l_dispatcher.h \
 d_mos6.o: d_mos6.cc ../include/l_denoise.h ../include/u_opt.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/l_stlextra.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos6.h d_mos123.h d_mos_base.h d_mos.h d_diode.h \
@@ -73,10 +73,10 @@ d_mos6.o: d_mos6.cc ../include/l_denoise.h ../include/u_opt.h \
 d_mos7.o: d_mos7.cc ../include/l_compar.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/l_denoise.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
- ../include/globals.h ../include/l_dispatcher.h ../include/l_stlextra.h \
- ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
- ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
- ../include/m_matrix.h ../include/e_base.h ../include/m_cpoly.h \
+ ../include/globals.h ../include/l_dispatcher.h ../include/e_base.h \
+ ../include/l_stlextra.h ../include/ap.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
+ ../include/l_compar.h ../include/m_matrix.h ../include/m_cpoly.h \
  ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/e_card.h d_mos7.h d_mos_base.h \
@@ -85,34 +85,34 @@ d_mos7.o: d_mos7.cc ../include/l_compar.h ../include/md.h \
 d_mos8.o: d_mos8.cc ../include/l_compar.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/l_denoise.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
- ../include/globals.h ../include/l_dispatcher.h ../include/l_stlextra.h \
- ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
- ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
- ../include/m_matrix.h ../include/e_base.h ../include/m_cpoly.h \
+ ../include/globals.h ../include/l_dispatcher.h ../include/e_base.h \
+ ../include/l_stlextra.h ../include/ap.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
+ ../include/l_compar.h ../include/m_matrix.h ../include/m_cpoly.h \
  ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/e_card.h d_mos8.h d_mos_base.h \
  d_mos.h d_diode.h ../include/u_sdp.h ../include/e_node.h \
  ../include/e_subckt.h ../include/e_model.h
 d_mos123.o: d_mos123.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos123.h d_mos_base.h d_mos.h d_diode.h \
  ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
  ../include/e_model.h
 d_mos_base.o: d_mos_base.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_mos_base.h d_mos.h d_diode.h ../include/u_sdp.h \
@@ -132,11 +132,11 @@ d_mos.o: d_mos.cc ../include/u_limit.h ../include/md.h \
  ../include/e_elemnt.h
 d_bjt.o: d_bjt.cc ../include/u_limit.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h d_bjt.h d_diode.h ../include/u_sdp.h \
@@ -154,305 +154,305 @@ d_diode.o: d_diode.cc ../include/e_aux.h ../include/e_node.h \
  d_diode.h ../include/u_sdp.h ../include/e_node.h ../include/e_subckt.h \
  ../include/e_model.h
 d_admit.o: d_admit.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_cap.o: d_cap.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_storag.h ../include/e_elemnt.h ../include/e_node.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
- ../include/m_matrix.h ../include/e_base.h ../include/m_cpoly.h \
- ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/e_cardlist.h ../include/e_card.h
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
+ ../include/e_card.h
 d_cccs.o: d_cccs.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/e_ccsrc.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_ccsrc.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_ccvs.o: d_ccvs.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/e_ccsrc.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_ccsrc.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_coil.o: d_coil.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_subckt.h ../include/e_compon.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
  ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/e_base.h ../include/e_ccsrc.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/m_cpoly.h \
- ../include/l_denoise.h ../include/e_storag.h
+ ../include/e_card.h ../include/e_ccsrc.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_storag.h
 d_cs.o: d_cs.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_poly_g.o: d_poly_g.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_poly_cap.o: d_poly_cap.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/e_storag.h ../include/e_elemnt.h ../include/e_node.h \
- ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
- ../include/m_matrix.h ../include/e_base.h ../include/m_cpoly.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/e_storag.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
+ ../include/l_compar.h ../include/m_matrix.h ../include/m_cpoly.h \
  ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/e_card.h
 d_res.o: d_res.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_switch.o: d_switch.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/e_model.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/e_card.h \
- ../include/e_base.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_model.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/e_card.h ../include/e_elemnt.h ../include/e_node.h \
  ../include/u_sim_data.h ../include/l_compar.h ../include/m_matrix.h \
  ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
  ../include/u_time_pair.h
 d_trln.o: d_trln.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/constant.h ../include/e_elemnt.h ../include/e_node.h \
- ../include/u_sim_data.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/e_compon.h ../include/u_time_pair.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/constant.h ../include/e_elemnt.h \
+ ../include/e_node.h ../include/u_sim_data.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/e_compon.h ../include/u_time_pair.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/e_card.h
 d_vcg.o: d_vcg.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_vcr.o: d_vcr.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_vcvs.o: d_vcvs.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_vs.o: d_vs.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h
 d_meter.o: d_meter.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/u_xprobe.h
 bm_complex.o: bm_complex.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bm_exp.o: bm_exp.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/u_lang.h ../include/bm.h
 bm_fit.o: bm_fit.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/m_spline.h ../include/bm.h
 bm_generator.o: bm_generator.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bm_model.o: bm_model.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/e_model.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/e_card.h \
- ../include/e_base.h ../include/bm.h ../include/e_compon.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_model.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/e_card.h ../include/bm.h ../include/e_compon.h \
  ../include/u_sim_data.h ../include/l_compar.h ../include/m_matrix.h \
  ../include/u_time_pair.h
 bm_poly.o: bm_poly.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bm_posy.o: bm_posy.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bm_pulse.o: bm_pulse.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/u_lang.h ../include/bm.h
 bm_pwl.o: bm_pwl.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/m_interp.h ../include/bm.h
 bm_sffm.o: bm_sffm.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/l_denoise.h ../include/u_lang.h \
  ../include/bm.h
 bm_sin.o: bm_sin.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/u_lang.h ../include/l_denoise.h \
  ../include/bm.h
 bm_tanh.o: bm_tanh.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bmm_table.o: bmm_table.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
- ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/m_spline.h ../include/e_model.h \
  ../include/bm.h
 bmm_semi.o: bmm_semi.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_model.h ../include/u_parameter.h ../include/m_expression.h \
- ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/e_base.h ../include/bm.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_model.h ../include/u_parameter.h \
+ ../include/m_expression.h ../include/m_base.h ../include/constant.h \
+ ../include/e_cardlist.h ../include/e_card.h ../include/bm.h \
  ../include/e_compon.h ../include/u_sim_data.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/u_time_pair.h
 c_clear.o: c_clear.cc ../include/c_comand.h ../include/e_card.h \
@@ -466,49 +466,54 @@ c_comand.o: c_comand.cc ../include/constant.h ../include/md.h \
  ../include/l_dispatcher.h ../include/l_stlextra.h ../include/u_opt.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h
 c_delete.o: c_delete.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/d_subckt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/e_subckt.h ../include/e_compon.h \
- ../include/u_time_pair.h ../include/u_parameter.h \
- ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/c_comand.h
+ ../include/e_subckt.h ../include/e_compon.h ../include/u_time_pair.h \
+ ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
+ ../include/e_cardlist.h ../include/e_card.h ../include/c_comand.h
 c_exp.o: c_exp.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/m_expression.h ../include/m_base.h ../include/constant.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h
+ ../include/c_comand.h ../include/e_card.h
 c_genrat.o: c_genrat.cc ../include/u_sim_data.h ../include/constant.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
  ../include/l_compar.h ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/m_matrix.h \
  ../include/l_stlextra.h ../include/globals.h ../include/l_dispatcher.h \
- ../include/ap.h ../include/c_comand.h ../include/e_card.h \
- ../include/e_base.h
+ ../include/e_base.h ../include/ap.h ../include/c_comand.h \
+ ../include/e_card.h
+c_help.o: c_help.cc ../include/l_dispatcher.h ../include/e_base.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h \
+ ../include/l_stlextra.h ../include/u_opt.h ../include/mode.h \
+ ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/c_comand.h ../include/e_card.h ../include/globals.h \
+ ../include/l_dispatcher.h
 c_list.o: c_list.cc ../include/e_cardlist.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/u_lang.h \
- ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h \
- ../include/globals.h ../include/l_dispatcher.h ../include/l_stlextra.h \
- ../include/ap.h
+ ../include/e_base.h ../include/u_opt.h ../include/mode.h \
+ ../include/io_.h ../include/l_lib.h ../include/c_comand.h \
+ ../include/e_card.h ../include/globals.h ../include/l_dispatcher.h \
+ ../include/l_stlextra.h ../include/ap.h
 c_measure.o: c_measure.cc ../include/u_parameter.h ../include/u_opt.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/m_expression.h \
  ../include/m_base.h ../include/ap.h ../include/constant.h \
- ../include/e_cardlist.h ../include/u_function.h ../include/c_comand.h \
- ../include/e_card.h ../include/e_base.h ../include/globals.h \
+ ../include/e_cardlist.h ../include/u_function.h ../include/e_base.h \
+ ../include/c_comand.h ../include/e_card.h ../include/globals.h \
  ../include/l_dispatcher.h ../include/l_stlextra.h
 c_modify.o: c_modify.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/u_cardst.h ../include/c_comand.h
 c_param.o: c_param.cc ../include/c_comand.h ../include/e_card.h \
@@ -563,8 +568,8 @@ s__out.o: s__out.cc ../include/u_sim_data.h ../include/constant.h \
  ../include/l_stlextra.h ../include/u_status.h ../include/l_timer.h \
  ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
  ../include/m_cpoly.h ../include/u_prblst.h ../include/u_probe.h \
- ../include/declare.h ../include/s__.h ../include/c_comand.h \
- ../include/e_card.h ../include/e_base.h
+ ../include/e_base.h ../include/declare.h ../include/s__.h \
+ ../include/c_comand.h ../include/e_card.h
 s__solve.o: s__solve.cc ../include/e_cardlist.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/u_status.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h \
@@ -573,56 +578,54 @@ s__solve.o: s__solve.cc ../include/e_cardlist.h ../include/md.h \
  ../include/m_matrix.h ../include/l_stlextra.h ../include/e_base.h \
  ../include/s__.h ../include/c_comand.h ../include/e_card.h
 s_ac.o: s_ac.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/u_status.h ../include/l_timer.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/e_cardlist.h ../include/u_prblst.h ../include/u_probe.h \
- ../include/s__.h ../include/c_comand.h ../include/e_card.h \
- ../include/e_base.h
+ ../include/s__.h ../include/c_comand.h ../include/e_card.h
 s_dc.o: s_dc.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_status.h ../include/l_timer.h ../include/u_prblst.h \
  ../include/u_probe.h ../include/l_compar.h ../include/u_cardst.h \
  ../include/e_compon.h ../include/u_sim_data.h ../include/constant.h \
  ../include/m_matrix.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/e_base.h ../include/e_elemnt.h \
- ../include/e_node.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/s__.h ../include/c_comand.h
+ ../include/e_card.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/s__.h \
+ ../include/c_comand.h
 s_fo.o: s_fo.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/u_status.h ../include/l_timer.h \
  ../include/m_phase.h ../include/declare.h ../include/u_prblst.h \
  ../include/u_probe.h ../include/s_tr.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/s__.h ../include/c_comand.h ../include/e_card.h \
- ../include/e_base.h
+ ../include/s__.h ../include/c_comand.h ../include/e_card.h
 s_tr.o: s_tr.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/u_status.h ../include/l_timer.h \
  ../include/s_tr.h ../include/u_parameter.h ../include/m_expression.h \
  ../include/m_base.h ../include/e_cardlist.h ../include/s__.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h
+ ../include/c_comand.h ../include/e_card.h
 s_tr_set.o: s_tr_set.cc ../include/u_sim_data.h ../include/constant.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
  ../include/l_compar.h ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/m_matrix.h \
  ../include/l_stlextra.h ../include/u_prblst.h ../include/u_probe.h \
- ../include/ap.h ../include/s_tr.h ../include/u_parameter.h \
- ../include/m_expression.h ../include/m_base.h ../include/ap.h \
- ../include/e_cardlist.h ../include/s__.h ../include/c_comand.h \
- ../include/e_card.h ../include/e_base.h
+ ../include/e_base.h ../include/ap.h ../include/s_tr.h \
+ ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
+ ../include/ap.h ../include/e_cardlist.h ../include/s__.h \
+ ../include/c_comand.h ../include/e_card.h
 s_tr_swp.o: s_tr_swp.cc ../include/u_time_pair.h ../include/constant.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
  ../include/u_sim_data.h ../include/l_compar.h ../include/u_opt.h \
@@ -633,11 +636,11 @@ s_tr_swp.o: s_tr_swp.cc ../include/u_time_pair.h ../include/constant.h \
  ../include/ap.h ../include/e_cardlist.h ../include/s__.h \
  ../include/c_comand.h ../include/e_card.h ../include/e_base.h
 lang_spice.o: lang_spice.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_status.h ../include/l_timer.h ../include/c_comand.h \
- ../include/e_card.h ../include/e_base.h ../include/d_dot.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_status.h ../include/l_timer.h \
+ ../include/c_comand.h ../include/e_card.h ../include/d_dot.h \
  ../include/d_coment.h ../include/d_subckt.h ../include/e_node.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/e_subckt.h ../include/e_compon.h \
@@ -647,10 +650,10 @@ lang_spice.o: lang_spice.cc ../include/globals.h \
  ../include/e_elemnt.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/bm.h
 lang_spectre.o: lang_spectre.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/c_comand.h ../include/e_card.h \
  ../include/d_dot.h ../include/d_coment.h ../include/d_subckt.h \
  ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
  ../include/l_compar.h ../include/m_matrix.h ../include/e_subckt.h \
@@ -658,10 +661,10 @@ lang_spectre.o: lang_spectre.cc ../include/globals.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_model.h ../include/u_lang.h
 lang_verilog.o: lang_verilog.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/c_comand.h ../include/e_card.h \
  ../include/d_dot.h ../include/d_coment.h ../include/d_subckt.h \
  ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
  ../include/l_compar.h ../include/m_matrix.h ../include/e_subckt.h \
@@ -669,9 +672,9 @@ lang_verilog.o: lang_verilog.cc ../include/globals.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_model.h ../include/u_lang.h
 func_core.o: func_core.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/constant.h ../include/e_cardlist.h ../include/u_function.h
 measure_eval.o: measure_eval.cc ../include/u_parameter.h \
@@ -679,71 +682,71 @@ measure_eval.o: measure_eval.cc ../include/u_parameter.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
  ../include/m_expression.h ../include/m_base.h ../include/ap.h \
  ../include/constant.h ../include/e_cardlist.h ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/l_stlextra.h \
  ../include/u_function.h
 measure_max.o: measure_max.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 measure_min.o: measure_min.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
-measure_slewrate.o: measure_slewrate.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/l_compar.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
  ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
  ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
  ../include/m_cpoly.h ../include/u_function.h
+measure_slewrate.o: measure_slewrate.cc ../include/globals.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/l_compar.h ../include/u_parameter.h \
+ ../include/m_expression.h ../include/m_base.h ../include/constant.h \
+ ../include/e_cardlist.h ../include/m_wave.h ../include/l_denoise.h \
+ ../include/m_interp.h ../include/m_cpoly.h ../include/u_function.h
 measure_cross.o: measure_cross.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 measure_integral.o: measure_integral.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 measure_average.o: measure_average.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 measure_rms.o: measure_rms.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 measure_at.o: measure_at.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/constant.h ../include/e_cardlist.h ../include/m_wave.h \
- ../include/l_denoise.h ../include/m_interp.h ../include/m_cpoly.h \
- ../include/u_function.h
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/constant.h ../include/e_cardlist.h \
+ ../include/m_wave.h ../include/l_denoise.h ../include/m_interp.h \
+ ../include/m_cpoly.h ../include/u_function.h
 signon.o: signon.cc ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/patchlev.h
diff --git a/apps/Make1 b/apps/Make1
index 94cea84..7a05dc5 100644
--- a/apps/Make1
+++ b/apps/Make1
@@ -52,6 +52,7 @@ bm_sin.cc bm_tanh.cc bmm_table.cc bmm_semi.cc
 # some have multiple commands in a file
 C_SRCS = \
 c_clear.cc c_comand.cc c_delete.cc c_exp.cc  c_genrat.cc \
+c_help.cc \
 c_list.cc c_measure.cc c_modify.cc c_param.cc c_prbcmd.cc \
 c_status.cc c_sweep.cc c_sim.cc c_system.cc
 
diff --git a/apps/c_help.cc b/apps/c_help.cc
new file mode 100644
index 0000000..c0d6691
--- /dev/null
+++ b/apps/c_help.cc
@@ -0,0 +1,97 @@
+/*$Id: c_help.cc 2015/01/21 al $ -*- C++ -*-
+ * Copyright (C) 2014 Albert Davis
+ * Author: Albert Davis <aldavis at gnu.org>
+ *
+ * This file is part of "Gnucap", the Gnu Circuit Analysis Package
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *------------------------------------------------------------------
+ */
+//testing=script,complete 2015.01.22
+#include "l_dispatcher.h"
+#include "c_comand.h"
+#include "globals.h"
+/*--------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------*/
+namespace {
+/*--------------------------------------------------------------------------*/
+  static DISPATCHER_BASE* dispatchers[] = {
+    &help_dispatcher,
+    &language_dispatcher,
+    &command_dispatcher,
+    &device_dispatcher,
+    &function_dispatcher,
+    &measure_dispatcher,
+    &model_dispatcher,
+    &bm_dispatcher,
+    &status_dispatcher,
+    &probe_dispatcher,
+    NULL };
+  // the order here determines the search order
+/*--------------------------------------------------------------------------*/
+class CMD_HELP : public CMD {
+public:
+  void do_it(CS& Cmd, CARD_LIST*)
+  {
+    unsigned tail = Cmd.cursor();
+    
+    std::string topic;
+    Cmd >> topic;
+
+    bool did_something = false;
+    unsigned here = Cmd.cursor();
+    for (DISPATCHER_BASE** ii = dispatchers; *ii; ++ii) {
+      CKT_BASE* object = (**ii)[topic];
+      if (object) {
+	did_something |= object->help(Cmd, IO::mstdout);
+      }else{
+	// nothing, it's ok
+      }
+      Cmd.reset(here);
+    }
+    if (!did_something) {
+      Cmd.warn(bWARNING, tail, "no help on topic " + Cmd.substr(tail));
+    }else{
+    }
+  }
+  
+  std::string help_text()const
+  {
+    return 
+      "help command\n"
+      "Provides help on a variety of topics\n"
+      "Syntax: help topic\n"
+      "In some cases, help on subtopics is available\n"
+      "Syntax: help topic subtopic\n"
+      "For a list of subtopics: help topic ?\n\n"
+      "@@subtopic\n"
+      "help subtopic\n"
+      "subtopics give you more detailed information\n\n"
+      "@@test\n"
+      "help test\n\n";//);
+  }
+
+} p0;
+DISPATCHER<CMD>::INSTALL d0(&command_dispatcher, "help", &p0);
+/*--------------------------------------------------------------------------*/
+class HELP_ERROR_TEST : public CKT_BASE {
+} p1;
+DISPATCHER<CKT_BASE>::INSTALL d1(&help_dispatcher, "help_error_test_with_no_help", &p1);  
+/*--------------------------------------------------------------------------*/
+}
+/*--------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------*/
+// vim:ts=8:sw=2:noet:
diff --git a/apps/lang_spice.cc b/apps/lang_spice.cc
index 88a5164..6b63895 100644
--- a/apps/lang_spice.cc
+++ b/apps/lang_spice.cc
@@ -1,4 +1,4 @@
-/*$Id: lang_spice.cc 2014/07/04 al $ -*- C++ -*-
+/*$Id: lang_spice.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2006 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -790,8 +790,7 @@ void LANG_SPICE_BASE::print_args(OMSTREAM& o, const COMPONENT* x)
 void LANG_SPICE_BASE::print_label(OMSTREAM& o, const COMPONENT* x)
 {
   assert(x);
-  std::string label = x->short_label();
-  o << label;
+  o << x->short_label();
 }
 /*--------------------------------------------------------------------------*/
 void LANG_SPICE_BASE::print_ports(OMSTREAM& o, const COMPONENT* x)
diff --git a/include/bm.h b/include/bm.h
index 24e8fc6..deadf7c 100644
--- a/include/bm.h
+++ b/include/bm.h
@@ -1,4 +1,4 @@
-/*$Id: bm.h,v 26.134 2009/11/29 03:47:06 al Exp $ -*- C++ -*-
+/*$Id: bm.h 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -65,7 +65,7 @@ protected:
   void		tr_finish_tdv(ELEMENT* d, double val)const;
   void		ac_final_adjust(COMPLEX* y)const;
   void		ac_final_adjust_with_temp(COMPLEX* y)const;
-  double	uic(double x)const	{return (CKT_BASE::_sim->uic_now()) ? _ic : x;}
+  double	uic(double x)const	{return (_sim->uic_now()) ? _ic : x;}
   double	ioffset(double x)const	{return uic(x) + _ioffset;}	
 public: // override virtual
   bool		operator==(const COMMON_COMPONENT&)const;
diff --git a/include/e_base.h b/include/e_base.h
index 2f64ce2..334e272 100644
--- a/include/e_base.h
+++ b/include/e_base.h
@@ -48,7 +48,8 @@ protected: // create and destroy
   virtual  ~CKT_BASE();
   //--------------------------------------------------------------------
 public: // user stuff
-  virtual void	      help(CS&, OMSTREAM&)const {untested();}
+  virtual std::string help_text()const {return "";}
+  virtual bool	      help(CS&, OMSTREAM&)const;
   virtual std::string status()const {untested();return "";}
   //--------------------------------------------------------------------
 public: // probes
diff --git a/include/e_compon.h b/include/e_compon.h
index 838e901..2cf02ba 100644
--- a/include/e_compon.h
+++ b/include/e_compon.h
@@ -1,4 +1,4 @@
-/*$Id: e_compon.h,v 26.138 2013/04/24 02:32:27 al Exp $ -*- C++ -*-
+/*$Id: e_compon.h 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -55,7 +55,7 @@ enum {CC_STATIC=27342}; // mid-sized arbitrary positive int
 // pass this as an argument to a common constructor to mark it as static,
 // so it won't be deleted
 /*--------------------------------------------------------------------------*/
-class INTERFACE COMMON_COMPONENT {
+class INTERFACE COMMON_COMPONENT : public CKT_BASE {
 protected:
   PARAMETER<double>	_tnom_c;  // specification temperature
   PARAMETER<double>	_dtemp;   // rise over enclosing temperature
@@ -72,7 +72,7 @@ public:
 private:
   COMMON_COMPONENT& operator=(const COMMON_COMPONENT&)
 			      {unreachable(); return *this;}
-  explicit COMMON_COMPONENT() {unreachable();incomplete();}
+  explicit COMMON_COMPONENT() : CKT_BASE() {unreachable();incomplete();}
 protected:
   explicit COMMON_COMPONENT(const COMMON_COMPONENT& p);
   explicit COMMON_COMPONENT(int c);
diff --git a/include/l_dispatcher.h b/include/l_dispatcher.h
index 0f2bbe6..5a1a4f7 100644
--- a/include/l_dispatcher.h
+++ b/include/l_dispatcher.h
@@ -1,4 +1,4 @@
-/*$Id: l_dispatcher.h,v 26.134 2009/11/29 03:47:06 al Exp $ -*- C++ -*-
+/*$Id: l_dispatcher.h 2015/01/21 03:47:06 al Exp $ -*- C++ -*-
  * Copyright (C) 2006 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -21,35 +21,66 @@
  *------------------------------------------------------------------
  * dispatcher -- for dynamically loaded modules
  */
-//testing=informal
+//testing=script 2015.01.21
 #ifndef L_DISPATCHER_H
 #define L_DISPATCHER_H
+#include "e_base.h"
 #include "l_stlextra.h"
 #include "u_opt.h"
 #include "ap.h"
 /*--------------------------------------------------------------------------*/
-template <class T>
-class INTERFACE DISPATCHER {
+class DISPATCHER_BASE {
+protected:
+  std::map<std::string, CKT_BASE*> * _map;
 private:
-  std::map<std::string, T*> * _map;
+  explicit DISPATCHER_BASE(DISPATCHER_BASE*) {unreachable();incomplete();}
 public:
-  DISPATCHER() {
+  DISPATCHER_BASE() /*: _map(new std::map<std::string, CKT_BASE*>)*/ {
     if (!_map) {
-      _map = new std::map<std::string, T*>;
-    }else{
+      _map = new std::map<std::string, CKT_BASE*>;
+    }else{unreachable();
+      puts("build error: link order: constructing dispatcher that already has contents\n");
+    }    
+  }
+  ~DISPATCHER_BASE() {
+#if !defined(NDEBUG)
+    for (typename std::map<std::string, CKT_BASE*>::iterator
+	 ii = _map->begin();
+	 ii != _map->end();
+	 ++ii) {
+      assert(!(ii->second));
     }
+#endif
+    delete _map;
+    _map = NULL;
   }
 
-  typedef typename std::map<std::string, T*>::const_iterator const_iterator;
-  //class const_iterator : public std::map<std::string, T*>::const_iterator {};
+  typedef typename std::map<std::string, CKT_BASE*>::const_iterator const_iterator;
+  //class const_iterator : public std::map<std::string, CKT_BASE*>::const_iterator {};
 
   const_iterator begin()const		{assert(_map); return _map->begin();}
   const_iterator end()const		{assert(_map); return _map->end();}
 
-  void install(const std::string& s, T* p) {
+  CKT_BASE* operator[](std::string s) {
+    assert(_map);
+    CKT_BASE* rv = (*_map)[s];
+    if (!rv && OPT::case_insensitive) {
+      notstd::to_lower(&s);
+      rv = (*_map)[s];
+    }else{
+    }
+    return rv;
+  }
+};
+/*--------------------------------------------------------------------------*/
+template <class TT>
+class INTERFACE DISPATCHER : public DISPATCHER_BASE {
+public:
+  void install(const std::string& s, TT* p) {
     assert(s.find(',', 0) == std::string::npos);
-    if (!_map) {
-      _map = new std::map<std::string, T*>;
+    if (!_map) {unreachable();
+      puts("build error: link order: dispatcher not yet constructed\n");
+      _map = new std::map<std::string, CKT_BASE*>;
     }else{
     }
     trace0(s.c_str());
@@ -62,13 +93,13 @@ public:
       std::string name = s.substr(bss, 
 		(ess != std::string::npos) ? ess-bss : std::string::npos);
       trace2(name.c_str(), bss, ess);
-      if (name == "") {
+      if (name == "") {untested();
 	// quietly ignore empty string
-      }else if ((*_map)[name]) {
+      }else if ((*_map)[name]) {untested();
 	// duplicate .. stash the old one so we can get it back
 	error(bWARNING, name + ": already installed, replacing\n");
 	std::string save_name = name + ":0";
-	for (int ii = 0; (*_map)[save_name]; ++ii) {
+	for (int ii = 0; (*_map)[save_name]; ++ii) {untested();
 	  save_name = name + ":" + to_string(ii);
 	}
 	(*_map)[save_name] = (*_map)[name];	
@@ -80,9 +111,9 @@ public:
     }
   }
   
-  void uninstall(T* p) {
+  void uninstall(TT* p) {
     assert(_map);
-    for (typename std::map<std::string, T*>::iterator
+    for (typename std::map<std::string, CKT_BASE*>::iterator
 	 ii = _map->begin();
 	 ii != _map->end();
 	 ++ii) {
@@ -92,7 +123,7 @@ public:
       }
     }
 #if !defined(NDEBUG)
-    for (typename std::map<std::string, T*>::iterator
+    for (typename std::map<std::string, CKT_BASE*>::iterator
 	 ii = _map->begin();
 	 ii != _map->end();
 	 ++ii) {
@@ -101,56 +132,56 @@ public:
 #endif
   }
   
-  void uninstall(const std::string& s) {
+  void uninstall(const std::string& s) {untested();
     assert(_map);
     // loop over all keys, separated by '|'
     for (std::string::size_type			// bss: begin sub-string
 	 bss = 0, ess = s.find('|', bss);	// ess: end sub-string
 	 bss != std::string::npos;
 	 bss = (ess != std::string::npos) ? ess+1 : std::string::npos,
-	   ess = s.find('|', bss)) {
+	   ess = s.find('|', bss)) {untested();
       std::string name = s.substr(bss,
 		(ess != std::string::npos) ? ess-bss : std::string::npos);
-      if (name == "") {
+      if (name == "") {untested();
 	// quietly ignore empty string
-      }else if ((*_map)[name]) {
+      }else if ((*_map)[name]) {untested();
 	// delete, try to get back the old one
 	int ii = 0;
 	std::string save_name = name + ":0";
-	for (ii = 0; (*_map)[save_name]; ++ii) {
+	for (ii = 0; (*_map)[save_name]; ++ii) {untested();
 	  save_name = name + ":" + to_string(ii);
 	}
-	if (ii > 1) {
+	if (ii > 1) {untested();
 	  save_name = name + ":" + to_string(ii-2);
 	  (*_map)[name] = (*_map)[save_name];
 	  (*_map)[save_name] = NULL;
 	  error(bWARNING, "restoring " + save_name + " as " + name + "\n");
-	}else{
+	}else{untested();
 	  (*_map)[name] = NULL;
 	}
-      }else{
+      }else{untested();
 	error(bWARNING, name + ": not installed, doing nothing\n");
       }
     }
   }
 
-  T* operator[](std::string s) {
+  TT* operator[](std::string s) {
     assert(_map);
-    T* rv = (*_map)[s];
+    CKT_BASE* rv = (*_map)[s];
     if (!rv && OPT::case_insensitive) {
       notstd::to_lower(&s);
       rv = (*_map)[s];
     }else{
     }
-    return rv;
+    return prechecked_cast<TT*>(rv);
   }
 
-  T* operator[](CS& cmd) {
+  TT* operator[](CS& cmd) {
     unsigned here = cmd.cursor();
     std::string s;
     cmd >> s;
     //------------------------
-    T* p = (*this)[s];
+    TT* p = (*this)[s];
     //------------------------
     if (!p) {
       cmd.reset(here);
@@ -159,11 +190,11 @@ public:
     return p;
   }
 
-  T* clone(std::string s) {
-    T* proto = (*this)[s];
+  TT* clone(std::string s) {
+    TT* proto = (*this)[s];
     if (proto) {
       return proto->clone();
-    }else{itested();
+    }else{untested();
       return NULL;
     }
   }
@@ -171,10 +202,10 @@ public:
   class INSTALL {
   private:
     const std::string _name;
-    DISPATCHER<T>* _d;
-    T* _p;
+    DISPATCHER<TT>* _d;
+    TT* _p;
   public:
-    INSTALL(DISPATCHER<T>* d, const std::string& name, T* p) :
+    INSTALL(DISPATCHER<TT>* d, const std::string& name, TT* p) :
       _name(name),
       _d(d),
       _p(p)
diff --git a/include/patchlev.h b/include/patchlev.h
index 5bee7e0..10df572 100644
--- a/include/patchlev.h
+++ b/include/patchlev.h
@@ -1 +1 @@
-#define PATCHLEVEL "2014-11-25"
+#define PATCHLEVEL "help 2015-01-22"
diff --git a/include/u_function.h b/include/u_function.h
index c0f72e1..d589ba5 100644
--- a/include/u_function.h
+++ b/include/u_function.h
@@ -1,4 +1,4 @@
-/*$Id: u_function.h,v 26.131 2009/11/20 08:22:10 al Exp $ -*- C++ -*-
+/*$Id: u_function.h 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2008 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -21,17 +21,15 @@
  *------------------------------------------------------------------
  */
 //testing=none
-#include "md.h"
+#include "e_base.h"
 /*--------------------------------------------------------------------------*/
-class CS;
 class CARD_LIST;
-class WAVE;
 /*--------------------------------------------------------------------------*/
-class FUNCTION {
+class FUNCTION : public CKT_BASE {
+  //BUG//needs constructors
+  //BUG//need label support
 public:
   virtual std::string eval(CS&, const CARD_LIST*)const = 0;
-protected:
-  WAVE* find_wave(const std::string& probe_name)const;
 };
 /*--------------------------------------------------------------------------*/
 /*--------------------------------------------------------------------------*/
diff --git a/include/u_lang.h b/include/u_lang.h
index 14eaf04..c09037c 100644
--- a/include/u_lang.h
+++ b/include/u_lang.h
@@ -1,4 +1,4 @@
-/*$Id: u_lang.h,v 26.138 2013/04/24 02:32:27 al Exp $ -*- C++ -*-
+/*$Id: u_lang.h 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2006 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -21,6 +21,7 @@
  */
 #ifndef U_LANG_H
 #define U_LANG_H
+#include "e_base.h"
 #include "u_opt.h"
 /*--------------------------------------------------------------------------*/
 class COMPONENT;
@@ -31,13 +32,14 @@ class DEV_COMMENT;
 class DEV_DOT;
 class CARD_LIST;
 /*--------------------------------------------------------------------------*/
-class INTERFACE LANGUAGE {
+class INTERFACE LANGUAGE : public CKT_BASE {
 public:
   const CARD* find_proto(const std::string&, const CARD*);
 public:
   void new__instance(CS& cmd, MODEL_SUBCKT* owner, CARD_LIST* Scope);
 
 public:
+  //BUG//need constructors
   virtual ~LANGUAGE();
   virtual std::string name()const = 0;
   virtual bool case_insensitive()const = 0;
diff --git a/include/u_probe.h b/include/u_probe.h
index 37cc4da..a88da13 100644
--- a/include/u_probe.h
+++ b/include/u_probe.h
@@ -1,4 +1,4 @@
-/*$Id: u_probe.h,v 26.81 2008/05/27 05:34:00 al Exp $ -*- C++ -*-
+/*$Id: u_probe.h 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -24,15 +24,15 @@
 //testing=script,complete 2006.07.14
 #ifndef U_PROBE_H
 #define U_PROBE_H
+#include "e_base.h"
 #include "l_compar.h" // inorder
 /*--------------------------------------------------------------------------*/
-class CKT_BASE;
-/*--------------------------------------------------------------------------*/
-class INTERFACE PROBE {
+class INTERFACE PROBE : public CKT_BASE {
 private:
   std::string	_what;    
   const CKT_BASE* _brh;
   double	_lo,_hi;
+  explicit  PROBE() {unreachable(); incomplete();}
 public:
   explicit  PROBE(const std::string& what, const CKT_BASE *brh);
 	    PROBE(const PROBE& p);
diff --git a/lib/Make.depend b/lib/Make.depend
index c7ed578..5dbd014 100644
--- a/lib/Make.depend
+++ b/lib/Make.depend
@@ -1,3 +1,10 @@
+globals.o: globals.cc ../include/globals.h ../include/l_dispatcher.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_prblst.h ../include/u_probe.h ../include/l_compar.h \
+ ../include/e_cardlist.h ../include/u_status.h ../include/l_timer.h \
+ ../include/patchlev.h
 m_expression_dump.o: m_expression_dump.cc ../include/m_expression.h \
  ../include/m_base.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/ap.h \
@@ -7,10 +14,10 @@ m_expression_in.o: m_expression_in.cc ../include/m_expression.h \
  ../include/io_trace.h ../include/io_error.h ../include/ap.h \
  ../include/constant.h
 m_expression_reduce.o: m_expression_reduce.cc ../include/globals.h \
- ../include/l_dispatcher.h ../include/l_stlextra.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_function.h ../include/u_parameter.h \
+ ../include/l_dispatcher.h ../include/e_base.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h ../include/l_stlextra.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/ap.h ../include/u_function.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/constant.h \
  ../include/e_cardlist.h
 m_base_in.o: m_base_in.cc ../include/m_base.h ../include/l_lib.h \
@@ -71,17 +78,15 @@ io_xopen.o: io_xopen.cc ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/constant.h \
  ../include/ap.h
-u_function.o: u_function.cc ../include/e_base.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/u_function.h
 u_lang.o: u_lang.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h \
- ../include/d_dot.h ../include/d_coment.h ../include/d_subckt.h \
- ../include/e_node.h ../include/u_sim_data.h ../include/constant.h \
- ../include/l_compar.h ../include/m_matrix.h ../include/e_subckt.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/c_comand.h ../include/e_card.h ../include/d_dot.h \
+ ../include/d_coment.h ../include/d_subckt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/e_subckt.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_model.h ../include/u_lang.h
 u_nodemap.o: u_nodemap.cc ../include/e_node.h ../include/u_sim_data.h \
@@ -94,16 +99,17 @@ u_opt1.o: u_opt1.cc ../include/u_opt.h ../include/mode.h ../include/io_.h \
  ../include/l_lib.h ../include/md.h ../include/io_trace.h \
  ../include/io_error.h
 u_opt2.o: u_opt2.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/c_comand.h ../include/e_card.h ../include/e_base.h \
- ../include/u_lang.h ../include/l_compar.h ../include/ap.h
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/c_comand.h ../include/e_card.h ../include/u_lang.h \
+ ../include/l_compar.h ../include/ap.h
 u_parameter.o: u_parameter.cc ../include/l_stlextra.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/u_parameter.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
  ../include/m_expression.h ../include/m_base.h ../include/ap.h \
- ../include/constant.h ../include/e_cardlist.h ../include/u_lang.h
+ ../include/constant.h ../include/e_cardlist.h ../include/u_lang.h \
+ ../include/e_base.h
 u_prblst.o: u_prblst.cc ../include/e_cardlist.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/e_node.h \
  ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
@@ -116,7 +122,7 @@ u_probe.o: u_probe.cc ../include/u_sim_data.h ../include/constant.h \
  ../include/l_compar.h ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/m_matrix.h \
  ../include/l_stlextra.h ../include/u_status.h ../include/l_timer.h \
- ../include/e_base.h ../include/u_probe.h
+ ../include/e_base.h ../include/u_probe.h ../include/e_base.h
 u_sim_data.o: u_sim_data.cc ../include/m_wave.h ../include/l_denoise.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
@@ -130,27 +136,25 @@ u_xprobe.o: u_xprobe.cc ../include/m_phase.h ../include/constant.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
  ../include/u_xprobe.h
 d_subckt.o: d_subckt.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/d_subckt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/e_subckt.h ../include/e_compon.h \
- ../include/u_time_pair.h ../include/u_parameter.h \
- ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/e_card.h
+ ../include/e_subckt.h ../include/e_compon.h ../include/u_time_pair.h \
+ ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
+ ../include/e_cardlist.h ../include/e_card.h
 d_logic.o: d_logic.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/d_subckt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/e_subckt.h ../include/e_compon.h \
- ../include/u_time_pair.h ../include/u_parameter.h \
- ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/u_xprobe.h ../include/d_logic.h \
- ../include/e_model.h ../include/e_elemnt.h ../include/m_cpoly.h \
- ../include/l_denoise.h
+ ../include/e_subckt.h ../include/e_compon.h ../include/u_time_pair.h \
+ ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
+ ../include/e_cardlist.h ../include/e_card.h ../include/u_xprobe.h \
+ ../include/d_logic.h ../include/e_model.h ../include/e_elemnt.h \
+ ../include/m_cpoly.h ../include/l_denoise.h
 d_logicmod.o: d_logicmod.cc ../include/d_logic.h ../include/e_model.h \
  ../include/u_parameter.h ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/md.h \
@@ -161,13 +165,14 @@ d_logicmod.o: d_logicmod.cc ../include/d_logic.h ../include/e_model.h \
  ../include/l_compar.h ../include/m_matrix.h ../include/l_stlextra.h \
  ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
  ../include/u_time_pair.h
-e_base.o: e_base.cc ../include/u_sim_data.h ../include/constant.h \
- ../include/md.h ../include/io_trace.h ../include/io_error.h \
+e_base.o: e_base.cc ../include/ap.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/u_sim_data.h ../include/constant.h \
  ../include/l_compar.h ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/m_matrix.h \
  ../include/l_stlextra.h ../include/m_wave.h ../include/l_denoise.h \
  ../include/m_interp.h ../include/m_cpoly.h ../include/u_prblst.h \
- ../include/u_probe.h ../include/u_xprobe.h ../include/e_base.h
+ ../include/u_probe.h ../include/e_base.h ../include/u_xprobe.h \
+ ../include/e_base.h
 e_card.o: e_card.cc ../include/u_time_pair.h ../include/constant.h \
  ../include/md.h ../include/io_trace.h ../include/io_error.h \
  ../include/e_cardlist.h ../include/e_node.h ../include/u_sim_data.h \
@@ -193,12 +198,12 @@ e_model.o: e_model.cc ../include/e_compon.h ../include/u_sim_data.h \
  ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
  ../include/ap.h ../include/e_cardlist.h ../include/e_card.h \
  ../include/e_base.h ../include/e_model.h
-e_compon.o: e_compon.cc ../include/u_lang.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/e_model.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/ap.h ../include/constant.h ../include/e_cardlist.h \
- ../include/e_card.h ../include/e_base.h ../include/e_elemnt.h \
+e_compon.o: e_compon.cc ../include/u_lang.h ../include/e_base.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/e_model.h ../include/u_parameter.h ../include/m_expression.h \
+ ../include/m_base.h ../include/ap.h ../include/constant.h \
+ ../include/e_cardlist.h ../include/e_card.h ../include/e_elemnt.h \
  ../include/e_node.h ../include/u_sim_data.h ../include/l_compar.h \
  ../include/m_matrix.h ../include/l_stlextra.h ../include/m_cpoly.h \
  ../include/l_denoise.h ../include/e_compon.h ../include/u_time_pair.h
@@ -240,30 +245,31 @@ e_cardlist.o: e_cardlist.cc ../include/u_time_pair.h \
  ../include/m_base.h ../include/ap.h ../include/e_cardlist.h \
  ../include/e_card.h
 bm_cond.o: bm_cond.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
- ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_cpoly.h ../include/l_denoise.h ../include/e_compon.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
 bm_value.o: bm_value.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/bm.h \
- ../include/e_compon.h ../include/u_sim_data.h ../include/constant.h \
- ../include/l_compar.h ../include/m_matrix.h ../include/u_time_pair.h \
- ../include/u_parameter.h ../include/m_expression.h ../include/m_base.h \
- ../include/e_cardlist.h ../include/e_card.h ../include/e_base.h
-bm.o: bm.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h ../include/u_lang.h \
- ../include/e_elemnt.h ../include/e_node.h ../include/u_sim_data.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/bm.h ../include/e_compon.h ../include/u_sim_data.h \
  ../include/constant.h ../include/l_compar.h ../include/m_matrix.h \
- ../include/e_base.h ../include/m_cpoly.h ../include/l_denoise.h \
+ ../include/u_time_pair.h ../include/u_parameter.h \
+ ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
+ ../include/e_card.h
+bm.o: bm.cc ../include/globals.h ../include/l_dispatcher.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/u_lang.h ../include/e_elemnt.h ../include/e_node.h \
+ ../include/u_sim_data.h ../include/constant.h ../include/l_compar.h \
+ ../include/m_matrix.h ../include/m_cpoly.h ../include/l_denoise.h \
  ../include/e_compon.h ../include/u_time_pair.h ../include/u_parameter.h \
  ../include/m_expression.h ../include/m_base.h ../include/e_cardlist.h \
  ../include/e_card.h ../include/bm.h
@@ -278,10 +284,10 @@ c_attach.o: c_attach.cc ../include/e_cardlist.h ../include/md.h \
  ../include/e_card.h ../include/e_base.h ../include/globals.h \
  ../include/l_dispatcher.h ../include/l_stlextra.h ../include/u_opt.h \
  ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h
-c_file.o: c_file.cc ../include/u_lang.h ../include/u_opt.h \
- ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/c_comand.h \
- ../include/e_card.h ../include/e_base.h ../include/globals.h \
+c_file.o: c_file.cc ../include/u_lang.h ../include/e_base.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h \
+ ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
+ ../include/c_comand.h ../include/e_card.h ../include/globals.h \
  ../include/l_dispatcher.h ../include/l_stlextra.h ../include/ap.h
 findbr.o: findbr.cc ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/constant.h \
@@ -290,11 +296,5 @@ findbr.o: findbr.cc ../include/l_lib.h ../include/md.h \
 plot.o: plot.cc ../include/declare.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h ../include/constant.h \
  ../include/u_opt.h ../include/mode.h ../include/io_.h ../include/l_lib.h \
- ../include/u_prblst.h ../include/u_probe.h ../include/l_compar.h
-globals.o: globals.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
- ../include/u_prblst.h ../include/u_probe.h ../include/l_compar.h \
- ../include/e_cardlist.h ../include/u_status.h ../include/l_timer.h \
- ../include/patchlev.h
+ ../include/u_prblst.h ../include/u_probe.h ../include/e_base.h \
+ ../include/l_compar.h
diff --git a/lib/Make1 b/lib/Make1
index 2a4be52..e744ae5 100644
--- a/lib/Make1
+++ b/lib/Make1
@@ -28,19 +28,20 @@ INSTALL_DIR = $(PREFIX)/lib
 DELETED =
 #------------------------------------------------------------------------
 RAW_SRCS = \
+globals.cc \
 m_expression_dump.cc m_expression_in.cc m_expression_reduce.cc \
 m_base_in.cc m_base_math.cc m_fft.cc  m_spline.cc \
 ap_construct.cc ap_convert.cc ap_error.cc ap_get.cc ap_match.cc ap_skip.cc \
 l_ftos.cc l_pmatch.cc l_timer.cc l_trim.cc l_wmatch.cc \
 io.cc io_contr.cc io_error.cc io_findf.cc io_out.cc io_xopen.cc \
-u_function.cc u_lang.cc u_nodemap.cc u_opt1.cc u_opt2.cc \
+u_lang.cc u_nodemap.cc u_opt1.cc u_opt2.cc \
 u_parameter.cc u_prblst.cc u_probe.cc u_sim_data.cc u_xprobe.cc \
 d_subckt.cc d_logic.cc d_logicmod.cc \
 e_base.cc e_card.cc e_node.cc e_model.cc e_compon.cc \
 e_elemnt.cc e_ccsrc.cc e_storag.cc e_cardlist.cc \
 bm_cond.cc bm_value.cc bm.cc \
 c__cmd.cc c_attach.cc c_file.cc \
-findbr.cc plot.cc globals.cc
+findbr.cc plot.cc
 #------------------------------------------------------------------------
 RAW_OTHER = Make1 Make2.g++ Make2.Debug Make2.mingw32 configure test_readline.cc
 #------------------------------------------------------------------------
diff --git a/lib/bm.cc b/lib/bm.cc
index efdf1ef..5692902 100644
--- a/lib/bm.cc
+++ b/lib/bm.cc
@@ -1,4 +1,4 @@
-/*$Id: bm.cc,v 26.137 2010/04/10 02:37:33 al Exp $ -*- C++ -*-
+/*$Id: bm.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -93,7 +93,7 @@ void EVAL_BM_ACTION_BASE::ac_final_adjust(COMPLEX* y)const
 {
   if (_bandwidth != NOT_INPUT && _bandwidth != 0.) {untested();
     assert(y->imag() == 0);
-    double ratio = CKT_BASE::_sim->_freq / _bandwidth;
+    double ratio = _sim->_freq / _bandwidth;
     double coeff = y->real() / (1.+(ratio*ratio));
     *y = COMPLEX(coeff, -coeff * ratio);
   }else{
@@ -105,7 +105,7 @@ void EVAL_BM_ACTION_BASE::ac_final_adjust(COMPLEX* y)const
   }
 
   if (_delay != 0.) {untested();
-    double ratio = CKT_BASE::_sim->_freq * _delay;
+    double ratio = _sim->_freq * _delay;
     if (ratio > 100000.) {untested();
       error(bPICKY, "delay too long\n");
       ratio = 0.;
diff --git a/lib/e_base.cc b/lib/e_base.cc
index 0bdab68..4b22d0d 100644
--- a/lib/e_base.cc
+++ b/lib/e_base.cc
@@ -1,4 +1,4 @@
-/*$Id: e_base.cc 2014/07/04 al $ -*- C++ -*-
+/*$Id: e_base.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -22,6 +22,7 @@
  * Base class for "cards" in the circuit description file
  */
 //testing=script 2014.07.04
+#include "ap.h"
 #include "u_sim_data.h"
 #include "m_wave.h"
 #include "u_prblst.h"
@@ -62,6 +63,30 @@ const std::string CKT_BASE::long_label()const
   return buffer;
 }
 /*--------------------------------------------------------------------------*/
+bool CKT_BASE::help(CS& Cmd, OMSTREAM& Out)const
+{
+  if (help_text() != "") {
+    unsigned here = Cmd.cursor();
+    std::string keyword;
+    Cmd >> keyword;
+    CS ht(CS::_STRING, help_text());
+    if (keyword == "") {
+      Out << ht.get_to("@@");
+    }else if (ht.scan("@@" + keyword + ' ')) {
+      Out << ht.get_to("@@");
+    }else if (keyword == "?") {
+      while (ht.scan("@@")) {
+	Out << "  " << ht.get_to("\n") << '\n';
+      }
+    }else{
+      Cmd.warn(bWARNING, here, "no help on subtopic " + Cmd.substr(here));
+    }
+    return true;
+  }else{
+    return false;
+  }
+}
+/*--------------------------------------------------------------------------*/
 double CKT_BASE::probe_num(const std::string& what)const
 {
   double x;
diff --git a/lib/e_compon.cc b/lib/e_compon.cc
index 07b76e0..e8a84b3 100644
--- a/lib/e_compon.cc
+++ b/lib/e_compon.cc
@@ -1,4 +1,4 @@
-/*$Id: e_compon.cc 2014/07/04 al $ -*- C++ -*-
+/*$Id: e_compon.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -27,7 +27,8 @@
 #include "e_elemnt.h"
 /*--------------------------------------------------------------------------*/
 COMMON_COMPONENT::COMMON_COMPONENT(const COMMON_COMPONENT& p)
-  :_tnom_c(p._tnom_c),
+  :CKT_BASE(p),
+   _tnom_c(p._tnom_c),
    _dtemp(p._dtemp),
    _temp_c(p._temp_c),
    _mfactor(p._mfactor),
@@ -39,7 +40,8 @@ COMMON_COMPONENT::COMMON_COMPONENT(const COMMON_COMPONENT& p)
 }
 /*--------------------------------------------------------------------------*/
 COMMON_COMPONENT::COMMON_COMPONENT(int c)
-  :_tnom_c(NOT_INPUT),
+  :CKT_BASE(),
+   _tnom_c(NOT_INPUT),
    _dtemp(0),
    _temp_c(NOT_INPUT),
    _mfactor(1),
@@ -274,7 +276,7 @@ void COMMON_COMPONENT::precalc_first(const CARD_LIST* Scope)
   assert(Scope);
   _tnom_c.e_val(OPT::tnom_c, Scope);
   _dtemp.e_val(0., Scope);
-  _temp_c.e_val(CKT_BASE::_sim->_temp_c + _dtemp, Scope);
+  _temp_c.e_val(_sim->_temp_c + _dtemp, Scope);
   _mfactor.e_val(1, Scope);
   _value.e_val(0, Scope);
 }
diff --git a/lib/u_function.cc b/lib/u_function.cc
index 9bef041..71779d2 100644
--- a/lib/u_function.cc
+++ b/lib/u_function.cc
@@ -1,32 +1 @@
-/*$Id: u_function.cc,v 26.131 2009/11/20 08:22:10 al Exp $ -*- C++ -*-
- * Copyright (C) 2009 Albert Davis
- * Author: Albert Davis <aldavis at gnu.org>
- *
- * This file is part of "Gnucap", the Gnu Circuit Analysis Package
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *------------------------------------------------------------------
- */
-#include "e_base.h"
-#include "u_function.h"
-/*--------------------------------------------------------------------------*/
-WAVE* FUNCTION::find_wave(const std::string& probe_name)const
-{
-  return CKT_BASE::find_wave(probe_name);
-}
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-// vim:ts=8:sw=2:noet:
+deleted
diff --git a/lib/u_lang.cc b/lib/u_lang.cc
index bef5df1..46a24b3 100644
--- a/lib/u_lang.cc
+++ b/lib/u_lang.cc
@@ -1,4 +1,4 @@
-/*$Id: u_lang.cc 2014.11.25 $ -*- C++ -*-
+/*$Id: u_lang.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2006 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -187,9 +187,8 @@ bool Get(CS& cmd, const std::string& key, LANGUAGE** val)
       std::string choices;
       for(DISPATCHER<LANGUAGE>::const_iterator
 	  i = language_dispatcher.begin(); i != language_dispatcher.end(); ++i) {untested();
-	LANGUAGE* c = i->second;
-	if (c) {untested();
-	  choices += c->name() + ' ';
+	if (i->second) {untested();
+	  choices += i->first + ' ';
 	}else{untested();
 	}
       }
diff --git a/lib/u_probe.cc b/lib/u_probe.cc
index 1da5791..a3af60e 100644
--- a/lib/u_probe.cc
+++ b/lib/u_probe.cc
@@ -1,4 +1,4 @@
-/*$Id: u_probe.cc,v 26.137 2010/04/10 02:37:33 al Exp $ -*- C++ -*-
+/*$Id: u_probe.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -28,7 +28,8 @@
 #include "u_probe.h"
 /*--------------------------------------------------------------------------*/
 PROBE::PROBE(const std::string& what,const CKT_BASE *brh)
-  :_what(what),
+  :CKT_BASE(),
+   _what(what),
    _brh(brh),
    _lo(0.),
    _hi(0.)
@@ -40,7 +41,8 @@ PROBE::PROBE(const std::string& what,const CKT_BASE *brh)
 }
 /*--------------------------------------------------------------------------*/
 PROBE::PROBE(const PROBE& p)
-  :_what(p._what),
+  :CKT_BASE(p),
+   _what(p._what),
    _brh(p._brh),
    _lo(p._lo),
    _hi(p._hi)
@@ -113,21 +115,21 @@ double PROBE::probe_node(void)const
     assert(iSTEP      - sCOUNT == 1);
     assert(iTOTAL     - sCOUNT == 2);
     assert(iCOUNT     - sCOUNT == 3);
-    return CKT_BASE::_sim->_iter[sCOUNT];
+    return _sim->_iter[sCOUNT];
   }else if (Umatch(_what, "bypass ")) {untested();
-    return OPT::bypass + 10*CKT_BASE::_sim->_bypass_ok;
+    return OPT::bypass + 10*_sim->_bypass_ok;
   }else if (Umatch(_what, "control ")) {
     return ::status.control;
   }else if (Umatch(_what, "damp ")) {untested();
-    return CKT_BASE::_sim->_damp;
+    return _sim->_damp;
   }else if (Umatch(_what, "gen{erator} ")) {untested();
-    return CKT_BASE::_sim->_genout;
+    return _sim->_genout;
   }else if (Umatch(_what, "hidden ")) {untested();
     return ::status.hidden_steps;
   }else if (Umatch(_what, "temp{erature} ")) {untested();
-    return CKT_BASE::_sim->_temp_c;
+    return _sim->_temp_c;
   }else if (Umatch(_what, "time ")) {untested();
-    return CKT_BASE::_sim->_time0;
+    return _sim->_time0;
   }else{
     return NOT_VALID;
   }
diff --git a/main/Make.depend b/main/Make.depend
index dc6e42c..497c3d8 100644
--- a/main/Make.depend
+++ b/main/Make.depend
@@ -1,9 +1,9 @@
 main.o: main.cc ../include/globals.h ../include/l_dispatcher.h \
- ../include/l_stlextra.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/u_opt.h ../include/mode.h \
- ../include/io_.h ../include/l_lib.h ../include/ap.h \
+ ../include/e_base.h ../include/md.h ../include/io_trace.h \
+ ../include/io_error.h ../include/l_stlextra.h ../include/u_opt.h \
+ ../include/mode.h ../include/io_.h ../include/l_lib.h ../include/ap.h \
  ../include/u_prblst.h ../include/u_probe.h ../include/l_compar.h \
  ../include/u_sim_data.h ../include/constant.h ../include/m_matrix.h \
  ../include/e_cardlist.h ../include/u_lang.h ../include/ap.h \
  ../include/patchlev.h ../include/c_comand.h ../include/e_card.h \
- ../include/e_base.h ../include/declare.h
+ ../include/declare.h
diff --git a/main/main.cc b/main/main.cc
index 2739e25..ee1ebe8 100644
--- a/main/main.cc
+++ b/main/main.cc
@@ -1,4 +1,4 @@
-/*$Id: main.cc,v 26.138 2013/04/24 03:32:53 al Exp $ -*- C++ -*-
+/*$Id: main.cc 2015/01/21 al $ -*- C++ -*-
  * Copyright (C) 2001 Albert Davis
  * Author: Albert Davis <aldavis at gnu.org>
  *
@@ -74,8 +74,8 @@ static void read_startup_files(void)
     OPT::language = language_dispatcher[DEFAULT_LANGUAGE];
     
     for(DISPATCHER<LANGUAGE>::const_iterator
-	  i=language_dispatcher.begin(); !OPT::language && i!=language_dispatcher.end(); ++i) {
-      OPT::language = i->second;
+	  i=language_dispatcher.begin(); !OPT::language && i!=language_dispatcher.end(); ++i) {untested();
+      OPT::language = prechecked_cast<LANGUAGE*>(i->second);
     }
   }else{untested();
     // already have a language specified in a startup file
diff --git a/modelgen/Make.depend b/modelgen/Make.depend
index fe1316c..5c628ed 100644
--- a/modelgen/Make.depend
+++ b/modelgen/Make.depend
@@ -1,27 +1,22 @@
 mg_main.o: mg_main.cc ../include/u_opt.h ../include/mode.h \
  ../include/io_.h ../include/l_lib.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h mg_out.h mg_.h \
- ../include/md.h ../include/ap.h ../include/patchlev.h
+ ../include/ap.h ../include/patchlev.h
 mg_error.o: mg_error.cc ../include/ap.h ../include/md.h \
  ../include/io_trace.h ../include/io_error.h
-mg_in.o: mg_in.cc mg_.h ../include/md.h ../include/io_trace.h \
- ../include/io_error.h ../include/ap.h ../include/md.h
-mg_out_h.o: mg_out_h.cc mg_out.h mg_.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/ap.h \
- ../include/md.h
+mg_in.o: mg_in.cc mg_.h ../include/ap.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h
+mg_out_h.o: mg_out_h.cc mg_out.h mg_.h ../include/ap.h ../include/md.h \
+ ../include/io_trace.h ../include/io_error.h
 mg_out_dump.o: mg_out_dump.cc ../include/md.h ../include/io_trace.h \
  ../include/io_error.h mg_out.h mg_.h ../include/ap.h ../include/md.h
-mg_out_common.o: mg_out_common.cc mg_out.h mg_.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/ap.h \
- ../include/md.h
-mg_out_dev.o: mg_out_dev.cc mg_out.h mg_.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/ap.h \
- ../include/md.h
-mg_out_lib.o: mg_out_lib.cc mg_out.h mg_.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/ap.h \
- ../include/md.h
-mg_out_model.o: mg_out_model.cc mg_out.h mg_.h ../include/md.h \
- ../include/io_trace.h ../include/io_error.h ../include/ap.h \
- ../include/md.h
+mg_out_common.o: mg_out_common.cc mg_out.h mg_.h ../include/ap.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h
+mg_out_dev.o: mg_out_dev.cc mg_out.h mg_.h ../include/ap.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h
+mg_out_lib.o: mg_out_lib.cc mg_out.h mg_.h ../include/ap.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h
+mg_out_model.o: mg_out_model.cc mg_out.h mg_.h ../include/ap.h \
+ ../include/md.h ../include/io_trace.h ../include/io_error.h
 mg_out_root.o: mg_out_root.cc ../include/md.h ../include/io_trace.h \
  ../include/io_error.h mg_out.h mg_.h ../include/ap.h ../include/md.h
diff --git a/tests/==out/bm_sffm.3.ckt.out b/tests/==out/bm_sffm.3.ckt.out
index 6bd80ba..27e2146 100644
--- a/tests/==out/bm_sffm.3.ckt.out
+++ b/tests/==out/bm_sffm.3.ckt.out
@@ -464,7 +464,7 @@
 # v(3)      --------- actual ---------  -------- relative --------
 #freq       value        dB      phase  value        dB      phase
  5.K        2.717f    -291.32   13.266  2.717f    -291.32   13.266
- 6.K        2.137f    -293.40  -20.748  2.137f    -293.40  -20.748
+ 6.K        2.137f    -293.40  -20.747  2.137f    -293.40  -20.747
  7.K        3.7106f   -288.61   -9.558  3.7106f   -288.61   -9.558
  8.K        3.6984f   -288.64   -4.956  3.6984f   -288.64   -4.956
  9.K        10.005f   -280.00  -12.537  10.005f   -280.00  -12.537
diff --git a/tests/==out/c_help.1.ckt.out b/tests/==out/c_help.1.ckt.out
new file mode 100644
index 0000000..20189ee
--- /dev/null
+++ b/tests/==out/c_help.1.ckt.out
@@ -0,0 +1,25 @@
+#help 
+.help 
+      ^ ? no help on topic 
+help command
+Provides help on a variety of topics
+Syntax: help topic
+In some cases, help on subtopics is available
+Syntax: help topic subtopic
+For a list of subtopics: help topic ?
+
+.help fregegiirei 
+      ^ ? no help on topic fregegiirei 
+.help help_error_test_with_no_help 
+      ^ ? no help on topic help_error_test_with_no_help 
+.help ? 
+      ^ ? no help on topic ? 
+  subtopic
+  test
+.help help dasd 
+           ^ ? no help on subtopic dasd 
+help subtopic
+subtopics give you more detailed information
+
+help test
+
diff --git a/tests/c_help.1.ckt b/tests/c_help.1.ckt
new file mode 100644
index 0000000..56122bd
--- /dev/null
+++ b/tests/c_help.1.ckt
@@ -0,0 +1,11 @@
+#help
+.help
+.help help
+.help fregegiirei
+.help help_error_test_with_no_help
+.help ?
+.help help ?
+.help help dasd
+.help help subtopic
+.help help test
+.end

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-electronics/gnucap.git



More information about the Pkg-electronics-commits mailing list