MCPcopy Index your code
hub / github.com/SLiCAP/SLiCAP_python / _makeOPtraces

Function _makeOPtraces

SLiCAP/SLiCAPngspice.py:645–692  ·  view source on GitHub ↗
(lines)

Source from the content-addressed store, hash-verified

643 return traceDict
644
645def _makeOPtraces(lines):
646 traceDict = {}
647 varNames = []
648 stepPar = None
649 stepVals = []
650 step = True
651 for i in range(len(lines)):
652 fields = lines[i].split()
653 if i == 0:
654 firstVar = fields[0]
655 labels = [fields[j].strip() for j in range(1, len(fields))]
656 for var in labels:
657 try:
658 varName, parDef = var.split(":")
659 stepPar, stepVal = parDef.split("=")
660 varNames.append(varName)
661 traceDict[varName] = []
662 except ValueError:
663 step = False
664 varNames.append(var)
665 traceDict[var] = []
666 if step:
667 if fields[0] == firstVar:
668 var = fields[1].strip()
669 varName, parDef = var.split(":")
670 stepPar, stepVal = parDef.split("=")
671 else:
672 values = [eval(field) for field in fields]
673 for j in range(1, len(values)):
674 traceDict[varNames[j-1]].append(values[j])
675 stepVals.append(eval(stepVal))
676 elif fields[0] != firstVar:
677 try:
678 values = [eval(fields[j]) for j in range(1, len(fields))]
679 for j in range(1, len(fields)):
680 traceDict[varNames[j-1]].append(values[j-1])
681 except NameError:
682 print("Error in parsing NGspice results (often indicating 'nan' values). Check the log file for details.")
683 return traceDict
684 if step:
685 for key in traceDict:
686 traceDict[key] = trace([stepVals, traceDict[key]])
687 traceDict[key].label = key
688 traceDict = (traceDict, stepPar, "")
689 else:
690 for key in traceDict:
691 traceDict[key] = traceDict[key][0]
692 return traceDict
693
694def _makeDCTRNStraces(lines):
695 traceDict = {}

Callers 1

_processNGspiceResultFunction · 0.85

Calls 1

traceClass · 0.90

Tested by

no test coverage detected