1 /*************************************************************************** 2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992 3 Copyright 1990 Regents of the University of California. All rights reserved. 4 Authors: 1985 Thomas L. Quarles 5 1993 Stephen R. Whiteley 6 ****************************************************************************/ 7 8 #include "spice.h" 9 #include <stdio.h> 10 #include "cktdefs.h" 11 #include "optdefs.h" 12 #include "const.h" 13 #include "iferrmsg.h" 14 15 16 /* ARGSUSED */ 17 int OPTaskQuest(cktp,anal,which,value)18OPTaskQuest(cktp,anal,which,value) 19 20 GENERIC *cktp; 21 GENERIC *anal; 22 int which; 23 IFvalue *value; 24 { 25 CKTcircuit *ckt = (CKTcircuit*)cktp; 26 STATistics *stat = (STATistics*)ckt->CKTstat; 27 28 switch (which) { 29 30 case OPT_EQNS: 31 value->iValue = ckt->CKTmaxEqNum; 32 break; 33 case OPT_ITERS: 34 value->iValue = stat->STATnumIter; 35 break; 36 case OPT_TRANIT: 37 value->iValue = stat->STATtranIter; 38 break; 39 case OPT_TRANCURITER: 40 value->iValue = stat->STATnumIter - stat->STAToldIter; 41 break; 42 case OPT_TRANPTS: 43 value->iValue = stat->STATtimePts; 44 break; 45 case OPT_TRANACCPT: 46 value->iValue = stat->STATaccepted; 47 break; 48 case OPT_TRANRJCT: 49 value->iValue = stat->STATrejected; 50 break; 51 case OPT_TOTANALTIME: 52 value->rValue = stat->STATtotAnalTime; 53 break; 54 case OPT_TRANTIME: 55 value->rValue = stat->STATtranTime; 56 break; 57 case OPT_LOADTIME: 58 value->rValue = stat->STATloadTime; 59 break; 60 case OPT_REORDTIME: 61 value->rValue = stat->STATreorderTime; 62 break; 63 case OPT_DECOMP: 64 value->rValue = stat->STATdecompTime; 65 break; 66 case OPT_SOLVE: 67 value->rValue = stat->STATsolveTime; 68 break; 69 case OPT_TRANDECOMP: 70 value->rValue = stat->STATtranDecompTime; 71 break; 72 case OPT_TRANSOLVE: 73 value->rValue = stat->STATtranSolveTime; 74 break; 75 case OPT_TEMP: 76 value->rValue = ckt->CKTtemp - CONSTCtoK; 77 break; 78 case OPT_TNOM: 79 value->rValue = ckt->CKTnomTemp - CONSTCtoK; 80 break; 81 case OPT_MATSIZ: 82 value->iValue = stat->STATmatSize; 83 break; 84 case OPT_NONZ: 85 value->iValue = stat->STATnonZero; 86 break; 87 case OPT_FILLIN: 88 value->iValue = stat->STATfillIn; 89 break; 90 default: 91 return (E_BADPARM); 92 } 93 return (OK); 94 } 95