coriolis/lefdef/doc/lefapi/appA_LEFexamples.html

12547 lines
664 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN" "http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
<html xmlns="http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>LEF 5.8 C/C++ Programming Interface -- A</title>
<META NAME="Approver" CONTENT="Technical Publications">
<META NAME="Author" CONTENT="Technical Publications">
<META NAME="CreateDate" CONTENT="2017-04-12">
<META NAME="CreateTime" CONTENT="1491994560">
<META NAME="DataType" CONTENT="Manuals">
<META NAME="Description" CONTENT="Describes the C/C++ programming interface used to read and write Library Exchange Format (LEF) files.">
<META NAME="DocTitle" CONTENT="LEF 5.8 C/C++ Programming Interface">
<META NAME="DocType" CONTENT="Reference">
<META NAME="EdmsRelease" CONTENT="FM-Wiki-1.0_P005">
<META NAME="FileTitle" CONTENT="A">
<META NAME="FileType" CONTENT="Chapter">
<META NAME="Keyword" CONTENT="lefapi">
<META NAME="Language" CONTENT="English">
<META NAME="ModifiedDate" CONTENT="2017-04-12">
<META NAME="ModifiedTime" CONTENT="1491994560">
<META NAME="NextFile" CONTENT="">
<META NAME="PageCount" CONTENT="102">
<META NAME="Platform" CONTENT="ALL">
<META NAME="PrevFile" CONTENT="ch8lefdiff.html">
<META NAME="Product" CONTENT="Languages">
<META NAME="ProductFamily" CONTENT="Cadence Shared Tools">
<META NAME="ProductVersion" CONTENT="5.8">
<META NAME="RightsManagement" CONTENT="Copyright 2017 Cadence Design Systems Inc.">
<META NAME="Title" CONTENT="LEF 5.8 C/C++ Programming Interface -- A">
<META NAME="TopicTags" CONTENT="FALSE">
<META NAME="Version" CONTENT="5.8">
</head>
<body style="margin-left: 5%;">
<a name="pagetop"></a>
<a name="firstpage"></a>
<!-- Begin Buttons -->
<table width="650" cellpadding="0" cellspacing="0" border="0">
<tr>
<td height="36" width="650" colspan="10">
<img src="images/header_doc.gif" width="650" height="34">
</td>
</tr>
<tr>
<td height="20" width="59">
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
</td>
<td height="20" width="73">
<a href="lefapiTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
</td>
<td height="20" width="46">
<img src="../support/nav2_index_b.gif" border="0">
</td>
<td>
<a href="ch8lefdiff.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td height="20">
<img src="images/nav2_next_b.gif" alt="Previous">
</td>
<td height="20">
<a>
<a href="lefapi.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
</a>
</td>
<td height="20" width="59">
<img src="images/nav_next_b.gif" alt="Next" border="0">
</td>
<td height="20" width="61">
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
</td>
<td height="20" width="76">
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
</td>
<td height="20" width="43">
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
</td>
<td height="20" width="37">
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
</td>
</tr>
</table>
<!-- End Buttons -->
<p>
<hr>
<p>
<h3>
<center>
<font >
<div>LEF 5.8 C&#47;C++ Programming Interface (Open Licensing Program)</div>
<font >
<div></div>
</font>
</font>
</center>
</h3>
<br>
</p>
<div>
<h1>A<a name="1008781">&nbsp;</a></h1>
<h1><a name="1011663">LEF Reader and Writer Examples</a></h1>
<p><a name="1021897">This appendix contains examples of the Cadence</a><font color="#000000"><sup>&#174;</sup></font> Library Exchange Format (LEF) reader and writer.</p>
<div>
<table border="0" cellspacing="0" cellpadding="3" summary="">
<tr valign="baseline">
<td width="31.999679999999998">
<div>
<nobr>
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
</nobr>
</div>
</td>
<td><a href="#1014148" title="A" name="1021898"><font color="#0000ff"><u>LEF Reader Program</u></font></a></td>
</tr>
</table>
</div>
<div>
<table border="0" cellspacing="0" cellpadding="3" summary="">
<tr valign="baseline">
<td width="31.999679999999998">
<div>
<nobr>
<font color="#000000"><img src="images/b_bullet.gif" alt="ParagraphBullet" border="0"></font>
</nobr>
</div>
</td>
<td><a href="#1016399" title="A" name="1021903"><font color="Blue"><u>LEF Writer Program</u></font></a><a href="#1016399" title="A"> </a></td>
</tr>
</table>
</div>
<h2><a name="1014148">LEF Reader Program</a></h2>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023238">#ifdef WIN32</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023239">#pragma warning (disable : 4786)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023240">#endif</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023241">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023242">#include &#60;stdio.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023243">#include &#60;string.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023244">#include &#60;iostream.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023245">#include &#60;malloc.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023246">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023247">#ifndef WIN32</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023248"># include &#60;unistd.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023249">#else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023250"># include &#60;windows.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023251">#endif &#47;* not WIN32 *&#47;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023252">#include &#34;lefrReader.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023253">#include &#34;lefwWriter.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023254">#include &#34;lefiDebug.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023255">#include &#34;lefiEncryptInt.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023256">#include &#34;lefiUtil.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023257">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023258">char defaultName[128];</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023259">char defaultOut[128];</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023260">FILE* fout;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023261">int printing = 0; &#47;&#47; Printing the output.</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023262">int parse65nm = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023263">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023264">&#47;&#47; TX_DIR:TRANSLATION ON</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023265"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023266">void dataError() {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023267"> fprintf(fout, &#34;ERROR: returned user data is not correct!\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023268">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023269"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023270">void checkType(lefrCallbackType_e c) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023271"> if (c &#62;= 0 &amp;&amp; c &#60;= lefrLibraryEndCbkType) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023272"> &#47;&#47; OK</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023273"> } else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023274"> fprintf(fout, &#34;ERROR: callback type is out of bounds!\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023275"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023276">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023277">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023278">char* orientStr(int orient) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023279"> switch (orient) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023280"> case 0: return ((char*)&#34;N&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023281"> case 1: return ((char*)&#34;W&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023282"> case 2: return ((char*)&#34;S&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023283"> case 3: return ((char*)&#34;E&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023284"> case 4: return ((char*)&#34;FN&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023285"> case 5: return ((char*)&#34;FW&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023286"> case 6: return ((char*)&#34;FS&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023287"> case 7: return ((char*)&#34;FE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023288"> };</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023289"> return ((char*)&#34;BOGUS&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023290">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023291">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023292">void lefVia(lefiVia* via) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023293"> int i, j;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023294">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023295"> lefrSetCaseSensitivity(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023296"> fprintf(fout, &#34;VIA %s &#34;, via&#45;&#62;lefiVia::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023297"> if (via&#45;&#62;lefiVia::hasDefault())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023298"> fprintf(fout, &#34;DEFAULT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023299"> else if (via&#45;&#62;lefiVia::hasGenerated())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023300"> fprintf(fout, &#34;GENERATED&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023301"> fprintf(fout, &#34;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023302"> if (via&#45;&#62;lefiVia::hasTopOfStack())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023303"> fprintf(fout, &#34; TOPOFSTACKONLY\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023304"> if (via&#45;&#62;lefiVia::hasForeign()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023305"> fprintf(fout, &#34; FOREIGN %s &#34;, via&#45;&#62;lefiVia::foreign());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023306"> if (via&#45;&#62;lefiVia::hasForeignPnt()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023307"> fprintf(fout, &#34;( %g %g ) &#34;, via&#45;&#62;lefiVia::foreignX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023308"> via&#45;&#62;lefiVia::foreignY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023309"> if (via&#45;&#62;lefiVia::hasForeignOrient())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023310"> fprintf(fout, &#34;%s &#34;, orientStr(via&#45;&#62;lefiVia::foreignOrient()));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023311"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023312"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023313"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023314"> if (via&#45;&#62;lefiVia::hasProperties()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023315"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023316"> for (i = 0; i &#60; via&#45;&#62;lefiVia::numProperties(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023317"> fprintf(fout, &#34;%s &#34;, via&#45;&#62;lefiVia::propName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023318"> if (via&#45;&#62;lefiVia::propIsNumber(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023319"> fprintf(fout, &#34;%g &#34;, via&#45;&#62;lefiVia::propNumber(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023320"> if (via&#45;&#62;lefiVia::propIsString(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023321"> fprintf(fout, &#34;%s &#34;, via&#45;&#62;lefiVia::propValue(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023322"> switch (via&#45;&#62;lefiVia::propType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023323"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023324"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023325"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023326"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023327"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023328"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023329"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023330"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023331"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023332"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023333"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023334"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023335"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023336"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023337"> if (via&#45;&#62;lefiVia::hasResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023338"> fprintf(fout, &#34; RESISTANCE %g ;\n&#34;, via&#45;&#62;lefiVia::resistance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023339"> if (via&#45;&#62;lefiVia::numLayers() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023340"> for (i = 0; i &#60; via&#45;&#62;lefiVia::numLayers(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023341"> fprintf(fout, &#34; LAYER %s\n&#34;, via&#45;&#62;lefiVia::layerName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023342"> for (j = 0; j &#60; via&#45;&#62;lefiVia::numRects(i); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023343"> fprintf(fout, &#34; RECT ( %f %f ) ( %f %f ) ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023344"> via&#45;&#62;lefiVia::xl(i, j), via&#45;&#62;lefiVia::yl(i, j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023345"> via&#45;&#62;lefiVia::xh(i, j), via&#45;&#62;lefiVia::yh(i, j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023346"> for (j = 0; j &#60; via&#45;&#62;lefiVia::numPolygons(i); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023347"> struct lefiGeomPolygon poly;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023348"> poly = via&#45;&#62;lefiVia::getPolygon(i, j);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023349"> fprintf(fout, &#34; POLYGON &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023350"> for (int k = 0; k &#60; poly.numPoints; k++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023351"> fprintf(fout, &#34; %g %g &#34;, poly.x[k], poly.y[k]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023352"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023353"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023354"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023355"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023356"> if (via&#45;&#62;lefiVia::hasViaRule()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023357"> fprintf(fout, &#34; VIARULE %s ;\n&#34;, via&#45;&#62;lefiVia::viaRuleName());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023358"> fprintf(fout, &#34; CUTSIZE %g %g ;\n&#34;, via&#45;&#62;lefiVia::xCutSize(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023359"> via&#45;&#62;lefiVia::yCutSize());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023360"> fprintf(fout, &#34; LAYERS %s %s %s ;\n&#34;, via&#45;&#62;lefiVia::botMetalLayer(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023361"> via&#45;&#62;lefiVia::cutLayer(), via&#45;&#62;lefiVia::topMetalLayer());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023362"> fprintf(fout, &#34; CUTSPACING %g %g ;\n&#34;, via&#45;&#62;lefiVia::xCutSpacing(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023363"> via&#45;&#62;lefiVia::yCutSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023364"> fprintf(fout, &#34; ENCLOSURE %g %g %g %g ;\n&#34;, via&#45;&#62;lefiVia::xBotEnc(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023365"> via&#45;&#62;lefiVia::yBotEnc(), via&#45;&#62;lefiVia::xTopEnc(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023366"> via&#45;&#62;lefiVia::yTopEnc());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023367"> if (via&#45;&#62;lefiVia::hasRowCol())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023368"> fprintf(fout, &#34; ROWCOL %d %d ;\n&#34;, via&#45;&#62;lefiVia::numCutRows(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023369"> via&#45;&#62;lefiVia::numCutCols());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023370"> if (via&#45;&#62;lefiVia::hasOrigin())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023371"> fprintf(fout, &#34; ORIGIN %g %g ;\n&#34;, via&#45;&#62;lefiVia::xOffset(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023372"> via&#45;&#62;lefiVia::yOffset());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023373"> if (via&#45;&#62;lefiVia::hasOffset())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023374"> fprintf(fout, &#34; OFFSET %g %g %g %g ;\n&#34;, via&#45;&#62;lefiVia::xBotOffset(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023375"> via&#45;&#62;lefiVia::yBotOffset(), via&#45;&#62;lefiVia::xTopOffset(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023376"> via&#45;&#62;lefiVia::yTopOffset());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023377"> if (via&#45;&#62;lefiVia::hasCutPattern())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023378"> fprintf(fout, &#34; PATTERN %s ;\n&#34;, via&#45;&#62;lefiVia::cutPattern());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023379"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023380"> fprintf(fout, &#34;END %s\n&#34;, via&#45;&#62;lefiVia::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023381">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023382"> return;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023383">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023384">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023385">void lefSpacing(lefiSpacing* spacing) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023386"> fprintf(fout, &#34; SAMENET %s %s %g &#34;, spacing&#45;&#62;lefiSpacing::name1(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023387"> spacing&#45;&#62;lefiSpacing::name2(), spacing&#45;&#62;lefiSpacing::distance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023388"> if (spacing&#45;&#62;lefiSpacing::hasStack())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023389"> fprintf(fout, &#34;STACK &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023390"> fprintf(fout,&#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023391"> return;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023392">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023393">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023394">void lefViaRuleLayer(lefiViaRuleLayer* vLayer) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023395"> fprintf(fout, &#34; LAYER %s ;\n&#34;, vLayer&#45;&#62;lefiViaRuleLayer::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023396"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasDirection()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023397"> if (vLayer&#45;&#62;lefiViaRuleLayer::isHorizontal())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023398"> fprintf(fout, &#34; DIRECTION HORIZONTAL ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023399"> if (vLayer&#45;&#62;lefiViaRuleLayer::isVertical())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023400"> fprintf(fout, &#34; DIRECTION VERTICAL ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023401"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023402"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasEnclosure()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023403"> fprintf(fout, &#34; ENCLOSURE %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023404"> vLayer&#45;&#62;lefiViaRuleLayer::enclosureOverhang1(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023405"> vLayer&#45;&#62;lefiViaRuleLayer::enclosureOverhang2());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023406"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023407"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023408"> fprintf(fout, &#34; WIDTH %g TO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023409"> vLayer&#45;&#62;lefiViaRuleLayer::widthMin(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023410"> vLayer&#45;&#62;lefiViaRuleLayer::widthMax());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023411"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023412"> fprintf(fout, &#34; RESISTANCE %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023413"> vLayer&#45;&#62;lefiViaRuleLayer::resistance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023414"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasOverhang())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023415"> fprintf(fout, &#34; OVERHANG %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023416"> vLayer&#45;&#62;lefiViaRuleLayer::overhang());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023417"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasMetalOverhang())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023418"> fprintf(fout, &#34; METALOVERHANG %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023419"> vLayer&#45;&#62;lefiViaRuleLayer::metalOverhang());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023420"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023421"> fprintf(fout, &#34; SPACING %g BY %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023422"> vLayer&#45;&#62;lefiViaRuleLayer::spacingStepX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023423"> vLayer&#45;&#62;lefiViaRuleLayer::spacingStepY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023424"> if (vLayer&#45;&#62;lefiViaRuleLayer::hasRect())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023425"> fprintf(fout, &#34; RECT ( %f %f ) ( %f %f ) ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023426"> vLayer&#45;&#62;lefiViaRuleLayer::xl(), vLayer&#45;&#62;lefiViaRuleLayer::yl(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023427"> vLayer&#45;&#62;lefiViaRuleLayer::xh(), vLayer&#45;&#62;lefiViaRuleLayer::yh());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023428"> return;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023429">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023430"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023431">void prtGeometry(lefiGeometries* geometry) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023432"> int numItems = geometry&#45;&#62;lefiGeometries::numItems();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023433"> int i, j;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023434"> lefiGeomPath* path;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023435"> lefiGeomPathIter* pathIter;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023436"> lefiGeomRect* rect;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023437"> lefiGeomRectIter* rectIter;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023438"> lefiGeomPolygon* polygon;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023439"> lefiGeomPolygonIter* polygonIter;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023440"> lefiGeomVia* via;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023441"> lefiGeomViaIter* viaIter;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023442"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023443"> for (i = 0; i &#60; numItems; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023444"> switch (geometry&#45;&#62;lefiGeometries::itemType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023445"> case lefiGeomClassE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023446"> fprintf(fout, &#34;CLASS %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023447"> geometry&#45;&#62;lefiGeometries::getClass(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023448"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023449"> case lefiGeomLayerE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023450"> fprintf(fout, &#34; LAYER %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023451"> geometry&#45;&#62;lefiGeometries::getLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023452"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023453"> case lefiGeomLayerExceptPgNetE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023454"> fprintf(fout, &#34; EXCEPTPGNET ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023455"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023456"> case lefiGeomLayerMinSpacingE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023457"> fprintf(fout, &#34; SPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023458"> geometry&#45;&#62;lefiGeometries::getLayerMinSpacing(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023459"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023460"> case lefiGeomLayerRuleWidthE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023461"> fprintf(fout, &#34; DESIGNRULEWIDTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023462"> geometry&#45;&#62;lefiGeometries::getLayerRuleWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023463"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023464"> case lefiGeomWidthE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023465"> fprintf(fout, &#34; WIDTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023466"> geometry&#45;&#62;lefiGeometries::getWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023467"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023468"> case lefiGeomPathE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023469"> path = geometry&#45;&#62;lefiGeometries::getPath(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023470"> fprintf(fout, &#34; PATH &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023471"> for (j = 0; j &#60; path&#45;&#62;numPoints; j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023472"> if (j+1 == path&#45;&#62;numPoints) &#47;&#47; last one on the list</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023473"> fprintf(fout, &#34; ( %g %g ) ;\n&#34;, path&#45;&#62;x[j], path&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023474"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023475"> fprintf(fout, &#34; ( %g %g )\n&#34;, path&#45;&#62;x[j], path&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023476"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023477"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023478"> case lefiGeomPathIterE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023479"> pathIter = geometry&#45;&#62;lefiGeometries::getPathIter(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023480"> fprintf(fout, &#34; PATH ITERATED &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023481"> for (j = 0; j &#60; pathIter&#45;&#62;numPoints; j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023482"> fprintf(fout, &#34; ( %g %g )\n&#34;, pathIter&#45;&#62;x[j],</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023483"> pathIter&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023484"> fprintf(fout, &#34; DO %g BY %g STEP %g %g ;\n&#34;, pathIter&#45;&#62;xStart,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023485"> pathIter&#45;&#62;yStart, pathIter&#45;&#62;xStep, pathIter&#45;&#62;yStep);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023486"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023487"> case lefiGeomRectE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023488"> rect = geometry&#45;&#62;lefiGeometries::getRect(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023489"> fprintf(fout, &#34; RECT ( %f %f ) ( %f %f ) ;\n&#34;, rect&#45;&#62;xl, </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023490"> rect&#45;&#62;yl, rect&#45;&#62;xh, rect&#45;&#62;yh);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023491"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023492"> case lefiGeomRectIterE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023493"> rectIter = geometry&#45;&#62;lefiGeometries::getRectIter(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023494"> fprintf(fout, &#34; RECT ITERATE ( %f %f ) ( %f %f )\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023495"> rectIter&#45;&#62;xl, rectIter&#45;&#62;yl, rectIter&#45;&#62;xh, rectIter&#45;&#62;yh);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023496"> fprintf(fout, &#34; DO %g BY %g STEP %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023497"> rectIter&#45;&#62;xStart, rectIter&#45;&#62;yStart, rectIter&#45;&#62;xStep,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023498"> rectIter&#45;&#62;yStep);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023499"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023500"> case lefiGeomPolygonE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023501"> polygon = geometry&#45;&#62;lefiGeometries::getPolygon(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023502"> fprintf(fout, &#34; POLYGON &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023503"> for (j = 0; j &#60; polygon&#45;&#62;numPoints; j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023504"> if (j+1 == polygon&#45;&#62;numPoints) &#47;&#47; last one on the list</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023505"> fprintf(fout, &#34; ( %g %g ) ;\n&#34;, polygon&#45;&#62;x[j],</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023506"> polygon&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023507"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023508"> fprintf(fout, &#34; ( %g %g )\n&#34;, polygon&#45;&#62;x[j],</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023509"> polygon&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023510"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023511"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023512"> case lefiGeomPolygonIterE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023513"> polygonIter = geometry&#45;&#62;lefiGeometries::getPolygonIter(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023514"> fprintf(fout, &#34; POLYGON ITERATE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023515"> for (j = 0; j &#60; polygonIter&#45;&#62;numPoints; j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023516"> fprintf(fout, &#34; ( %g %g )\n&#34;, polygonIter&#45;&#62;x[j],</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023517"> polygonIter&#45;&#62;y[j]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023518"> fprintf(fout, &#34; DO %g BY %g STEP %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023519"> polygonIter&#45;&#62;xStart, polygonIter&#45;&#62;yStart,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023520"> polygonIter&#45;&#62;xStep, polygonIter&#45;&#62;yStep);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023521"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023522"> case lefiGeomViaE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023523"> via = geometry&#45;&#62;lefiGeometries::getVia(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023524"> fprintf(fout, &#34; VIA ( %g %g ) %s ;\n&#34;, via&#45;&#62;x, via&#45;&#62;y,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023525"> via&#45;&#62;name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023526"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023527"> case lefiGeomViaIterE:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023528"> viaIter = geometry&#45;&#62;lefiGeometries::getViaIter(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023529"> fprintf(fout, &#34; VIA ITERATE ( %g %g ) %s\n&#34;, viaIter&#45;&#62;x,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023530"> viaIter&#45;&#62;y, viaIter&#45;&#62;name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023531"> fprintf(fout, &#34; DO %g BY %g STEP %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023532"> viaIter&#45;&#62;xStart, viaIter&#45;&#62;yStart,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023533"> viaIter&#45;&#62;xStep, viaIter&#45;&#62;yStep);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023534"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023535"> default:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023536"> fprintf(fout, &#34;BOGUS geometries type.\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023537"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023538"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023539"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023540">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023541">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023542">int antennaCB(lefrCallbackType_e c, double value, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023543"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023544">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023545"> switch (c) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023546"> case lefrAntennaInputCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023547"> fprintf(fout, &#34;ANTENNAINPUTGATEAREA %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023548"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023549"> case lefrAntennaInoutCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023550"> fprintf(fout, &#34;ANTENNAINOUTDIFFAREA %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023551"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023552"> case lefrAntennaOutputCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023553"> fprintf(fout, &#34;ANTENNAOUTPUTDIFFAREA %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023554"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023555"> case lefrInputAntennaCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023556"> fprintf(fout, &#34;INPUTPINANTENNASIZE %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023557"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023558"> case lefrOutputAntennaCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023559"> fprintf(fout, &#34;OUTPUTPINANTENNASIZE %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023560"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023561"> case lefrInoutAntennaCbkType:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023562"> fprintf(fout, &#34;INOUTPINANTENNASIZE %g ;\n&#34;, value);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023563"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023564"> default:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023565"> fprintf(fout, &#34;BOGUS antenna type.\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023566"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023567"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023568"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023569">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023570">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023571">int arrayBeginCB(lefrCallbackType_e c, const char* name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023572"> int status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023573">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023574"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023575"> status = lefwStartArray(name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023576"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023577"> return status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023578"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023579">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023580">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023581">int arrayCB(lefrCallbackType_e c, lefiArray* a, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023582"> int status, i, j, defCaps;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023583"> lefiSitePattern* pattern;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023584"> lefiTrackPattern* track;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023585"> lefiGcellPattern* gcell;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023586">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023587"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023588"> if (a&#45;&#62;lefiArray::numSitePattern() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023589"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numSitePattern(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023590"> pattern = a&#45;&#62;lefiArray::sitePattern(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023591"> status = lefwArraySite(pattern&#45;&#62;lefiSitePattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023592"> pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023593"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023594"> pattern&#45;&#62;lefiSitePattern::orient(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023595"> pattern&#45;&#62;lefiSitePattern::xStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023596"> pattern&#45;&#62;lefiSitePattern::yStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023597"> pattern&#45;&#62;lefiSitePattern::xStep(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023598"> pattern&#45;&#62;lefiSitePattern::yStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023599"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023600"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023601"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023602"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023603"> if (a&#45;&#62;lefiArray::numCanPlace() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023604"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numCanPlace(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023605"> pattern = a&#45;&#62;lefiArray::canPlace(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023606"> status = lefwArrayCanplace(pattern&#45;&#62;lefiSitePattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023607"> pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023608"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023609"> pattern&#45;&#62;lefiSitePattern::orient(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023610"> pattern&#45;&#62;lefiSitePattern::xStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023611"> pattern&#45;&#62;lefiSitePattern::yStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023612"> pattern&#45;&#62;lefiSitePattern::xStep(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023613"> pattern&#45;&#62;lefiSitePattern::yStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023614"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023615"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023616"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023617"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023618"> if (a&#45;&#62;lefiArray::numCannotOccupy() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023619"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numCannotOccupy(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023620"> pattern = a&#45;&#62;lefiArray::cannotOccupy(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023621"> status = lefwArrayCannotoccupy(pattern&#45;&#62;lefiSitePattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023622"> pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023623"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023624"> pattern&#45;&#62;lefiSitePattern::orient(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023625"> pattern&#45;&#62;lefiSitePattern::xStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023626"> pattern&#45;&#62;lefiSitePattern::yStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023627"> pattern&#45;&#62;lefiSitePattern::xStep(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023628"> pattern&#45;&#62;lefiSitePattern::yStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023629"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023630"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023631"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023632"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023633">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023634"> if (a&#45;&#62;lefiArray::numTrack() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023635"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numTrack(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023636"> track = a&#45;&#62;lefiArray::track(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023637"> fprintf(fout, &#34; TRACKS %s, %g DO %d STEP %g\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023638"> track&#45;&#62;lefiTrackPattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023639"> track&#45;&#62;lefiTrackPattern::start(), </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023640"> track&#45;&#62;lefiTrackPattern::numTracks(), </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023641"> track&#45;&#62;lefiTrackPattern::space()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023642"> if (track&#45;&#62;lefiTrackPattern::numLayers() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023643"> fprintf(fout, &#34; LAYER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023644"> for (j = 0; j &#60; track&#45;&#62;lefiTrackPattern::numLayers(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023645"> fprintf(fout, &#34;%s &#34;, track&#45;&#62;lefiTrackPattern::layerName(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023646"> fprintf(fout, &#34;;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023647"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023648"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023649"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023650">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023651"> if (a&#45;&#62;lefiArray::numGcell() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023652"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numGcell(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023653"> gcell = a&#45;&#62;lefiArray::gcell(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023654"> fprintf(fout, &#34; GCELLGRID %s, %g DO %d STEP %g\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023655"> gcell&#45;&#62;lefiGcellPattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023656"> gcell&#45;&#62;lefiGcellPattern::start(), </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023657"> gcell&#45;&#62;lefiGcellPattern::numCRs(), </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023658"> gcell&#45;&#62;lefiGcellPattern::space()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023659"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023660"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023661">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023662"> if (a&#45;&#62;lefiArray::numFloorPlans() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023663"> for (i = 0; i &#60; a&#45;&#62;lefiArray::numFloorPlans(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023664"> status = lefwStartArrayFloorplan(a&#45;&#62;lefiArray::floorPlanName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023665"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023666"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023667"> for (j = 0; j &#60; a&#45;&#62;lefiArray::numSites(i); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023668"> pattern = a&#45;&#62;lefiArray::site(i, j);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023669"> status = lefwArrayFloorplan(a&#45;&#62;lefiArray::siteType(i, j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023670"> pattern&#45;&#62;lefiSitePattern::name(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023671"> pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023672"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023673"> pattern&#45;&#62;lefiSitePattern::orient(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023674"> (int)pattern&#45;&#62;lefiSitePattern::xStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023675"> (int)pattern&#45;&#62;lefiSitePattern::yStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023676"> pattern&#45;&#62;lefiSitePattern::xStep(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023677"> pattern&#45;&#62;lefiSitePattern::yStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023678"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023679"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023680"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023681"> status = lefwEndArrayFloorplan(a&#45;&#62;lefiArray::floorPlanName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023682"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023683"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023684"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023685"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023686">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023687"> defCaps = a&#45;&#62;lefiArray::numDefaultCaps();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023688"> if (defCaps &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023689"> status = lefwStartArrayDefaultCap(defCaps);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023690"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023691"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023692"> for (i = 0; i &#60; defCaps; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023693"> status = lefwArrayDefaultCap(a&#45;&#62;lefiArray::defaultCapMinPins(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023694"> a&#45;&#62;lefiArray::defaultCap(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023695"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023696"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023697"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023698"> status = lefwEndArrayDefaultCap();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023699"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023700"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023701"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023702"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023703">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023704">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023705">int arrayEndCB(lefrCallbackType_e c, const char* name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023706"> int status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023707">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023708"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023709"> status = lefwEndArray(name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023710"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023711"> return status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023712"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023713">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023714">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023715">int busBitCharsCB(lefrCallbackType_e c, const char* busBit, lefiUserData ud)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023716">{</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023717"> int status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023718">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023719"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023720"> status = lefwBusBitChars(busBit);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023721"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023722"> dataError();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023723"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023724">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023725">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023726">int caseSensCB(lefrCallbackType_e c, int caseSense, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023727"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023728">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023729"> if (caseSense == TRUE)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023730"> fprintf(fout, &#34;NAMESCASESENSITIVE ON ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023731"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023732"> fprintf(fout, &#34;NAMESCASESENSITIVE OFF ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023733"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023734">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023735">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023736">int clearanceCB(lefrCallbackType_e c, const char* name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023737"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023738">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023739"> fprintf(fout, &#34;CLEARANCEMEASURE %s ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023740"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023741">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023742">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023743">int dividerCB(lefrCallbackType_e c, const char* name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023744"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023745">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023746"> fprintf(fout, &#34;DIVIDER %s ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023747"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023748">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023749">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023750">int noWireExtCB(lefrCallbackType_e c, const char* name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023751"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023752">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023753"> fprintf(fout, &#34;NOWIREEXTENSION %s ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023754"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023755">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023756">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023757">int edge1CB(lefrCallbackType_e c, double name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023758"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023759">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023760"> fprintf(fout, &#34;EDGERATETHRESHOLD1 %g ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023761"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023762">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023763">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023764">int edge2CB(lefrCallbackType_e c, double name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023765"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023766">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023767"> fprintf(fout, &#34;EDGERATETHRESHOLD2 %g ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023768"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023769">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023770">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023771">int edgeScaleCB(lefrCallbackType_e c, double name, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023772"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023773">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023774"> fprintf(fout, &#34;EDGERATESCALEFACTORE %g ;\n&#34;, name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023775"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023776">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023777">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023778">int dielectricCB(lefrCallbackType_e c, double dielectric, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023779"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023780">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023781"> fprintf(fout, &#34;DIELECTRIC %g ;\n&#34;, dielectric);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023782"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023783">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023784">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023785">int irdropBeginCB(lefrCallbackType_e c, void* ptr, lefiUserData ud){</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023786"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023787">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023788"> fprintf(fout, &#34;IRDROP\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023789"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023790">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023791">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023792">int irdropCB(lefrCallbackType_e c, lefiIRDrop* irdrop, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023793"> int i;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023794"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023795">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023796"> fprintf(fout, &#34; TABLE %s &#34;, irdrop&#45;&#62;lefiIRDrop::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023797"> for (i = 0; i &#60; irdrop&#45;&#62;lefiIRDrop::numValues(); i++) </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023798"> fprintf(fout, &#34;%g %g &#34;, irdrop&#45;&#62;lefiIRDrop::value1(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023799"> irdrop&#45;&#62;lefiIRDrop::value2(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023800"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023801"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023802">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023803">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023804">int irdropEndCB(lefrCallbackType_e c, void* ptr, lefiUserData ud){</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023805"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023806">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023807"> fprintf(fout, &#34;END IRDROP\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023808"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023809">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023810">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023811">int layerCB(lefrCallbackType_e c, lefiLayer* layer, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023812"> int i, j, k;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023813"> int numPoints, propNum;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023814"> double *widths, *current;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023815"> lefiLayerDensity* density;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023816"> lefiAntennaPWL* pwl;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023817"> lefiSpacingTable* spTable;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023818"> lefiInfluence* influence;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023819"> lefiParallel* parallel;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023820"> lefiTwoWidths* twoWidths;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023821"> char pType;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023822"> int numMinCut, numMinenclosed;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023823"> lefiAntennaModel* aModel;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023824"> lefiOrthogonal* ortho;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023825">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023826"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023827"> lefrSetCaseSensitivity(0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023828">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023829"> if (parse65nm)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023830"> layer&#45;&#62;lefiLayer::parse65nmRules();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023831">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023832"> fprintf(fout, &#34;LAYER %s\n&#34;, layer&#45;&#62;lefiLayer::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023833"> if (layer&#45;&#62;lefiLayer::hasType())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023834"> fprintf(fout, &#34; TYPE %s ;\n&#34;, layer&#45;&#62;lefiLayer::type());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023835"> if (layer&#45;&#62;lefiLayer::hasPitch())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023836"> fprintf(fout, &#34; PITCH %g ;\n&#34;, layer&#45;&#62;lefiLayer::pitch());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023837"> else if (layer&#45;&#62;lefiLayer::hasXYPitch())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023838"> fprintf(fout, &#34; PITCH %g %g ;\n&#34;, layer&#45;&#62;lefiLayer::pitchX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023839"> layer&#45;&#62;lefiLayer::pitchY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023840"> if (layer&#45;&#62;lefiLayer::hasOffset())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023841"> fprintf(fout, &#34; OFFSET %g ;\n&#34;, layer&#45;&#62;lefiLayer::offset());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023842"> else if (layer&#45;&#62;lefiLayer::hasXYOffset())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023843"> fprintf(fout, &#34; OFFSET %g %g ;\n&#34;, layer&#45;&#62;lefiLayer::offsetX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023844"> layer&#45;&#62;lefiLayer::offsetY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023845"> if (layer&#45;&#62;lefiLayer::hasDiagPitch())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023846"> fprintf(fout, &#34; DIAGPITCH %g ;\n&#34;, layer&#45;&#62;lefiLayer::diagPitch());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023847"> else if (layer&#45;&#62;lefiLayer::hasXYDiagPitch())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023848"> fprintf(fout, &#34; DIAGPITCH %g %g ;\n&#34;, layer&#45;&#62;lefiLayer::diagPitchX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023849"> layer&#45;&#62;lefiLayer::diagPitchY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023850"> if (layer&#45;&#62;lefiLayer::hasDiagWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023851"> fprintf(fout, &#34; DIAGWIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::diagWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023852"> if (layer&#45;&#62;lefiLayer::hasDiagSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023853"> fprintf(fout, &#34; DIAGSPACING %g ;\n&#34;, layer&#45;&#62;lefiLayer::diagSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023854"> if (layer&#45;&#62;lefiLayer::hasWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023855"> fprintf(fout, &#34; WIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::width());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023856"> if (layer&#45;&#62;lefiLayer::hasArea())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023857"> fprintf(fout, &#34; AREA %g ;\n&#34;, layer&#45;&#62;lefiLayer::area());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023858"> if (layer&#45;&#62;lefiLayer::hasSlotWireWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023859"> fprintf(fout, &#34; SLOTWIREWIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::slotWireWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023860"> if (layer&#45;&#62;lefiLayer::hasSlotWireLength())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023861"> fprintf(fout, &#34; SLOTWIRELENGTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023862"> layer&#45;&#62;lefiLayer::slotWireLength());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023863"> if (layer&#45;&#62;lefiLayer::hasSlotWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023864"> fprintf(fout, &#34; SLOTWIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::slotWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023865"> if (layer&#45;&#62;lefiLayer::hasSlotLength())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023866"> fprintf(fout, &#34; SLOTLENGTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::slotLength());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023867"> if (layer&#45;&#62;lefiLayer::hasMaxAdjacentSlotSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023868"> fprintf(fout, &#34; MAXADJACENTSLOTSPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023869"> layer&#45;&#62;lefiLayer::maxAdjacentSlotSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023870"> if (layer&#45;&#62;lefiLayer::hasMaxCoaxialSlotSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023871"> fprintf(fout, &#34; MAXCOAXIALSLOTSPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023872"> layer&#45;&#62;lefiLayer::maxCoaxialSlotSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023873"> if (layer&#45;&#62;lefiLayer::hasMaxEdgeSlotSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023874"> fprintf(fout, &#34; MAXEDGESLOTSPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023875"> layer&#45;&#62;lefiLayer::maxEdgeSlotSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023876"> if (layer&#45;&#62;lefiLayer::hasMaxFloatingArea()) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023877"> fprintf(fout, &#34; MAXFLOATINGAREA %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023878"> layer&#45;&#62;lefiLayer::maxFloatingArea());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023879"> if (layer&#45;&#62;lefiLayer::hasArraySpacing()) { &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023880"> fprintf(fout, &#34; ARRAYSPACING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023881"> if (layer&#45;&#62;lefiLayer::hasLongArray())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023882"> fprintf(fout, &#34;LONGARRAY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023883"> if (layer&#45;&#62;lefiLayer::hasViaWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023884"> fprintf(fout, &#34;WIDTH %g &#34;, layer&#45;&#62;lefiLayer::viaWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023885"> fprintf(fout, &#34;CUTSPACING %g&#34;, layer&#45;&#62;lefiLayer::cutSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023886"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numArrayCuts(); i++) </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023887"> fprintf(fout, &#34;\n\tARRAYCUTS %g SPACING %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023888"> layer&#45;&#62;lefiLayer::arrayCuts(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023889"> layer&#45;&#62;lefiLayer::arraySpacing(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023890"> fprintf(fout, &#34; ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023891"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023892"> if (layer&#45;&#62;lefiLayer::hasSplitWireWidth())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023893"> fprintf(fout, &#34; SPLITWIREWIDTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023894"> layer&#45;&#62;lefiLayer::splitWireWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023895"> if (layer&#45;&#62;lefiLayer::hasMinimumDensity())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023896"> fprintf(fout, &#34; MINIMUMDENSITY %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023897"> layer&#45;&#62;lefiLayer::minimumDensity());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023898"> if (layer&#45;&#62;lefiLayer::hasMaximumDensity())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023899"> fprintf(fout, &#34; MAXIMUMDENSITY %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023900"> layer&#45;&#62;lefiLayer::maximumDensity());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023901"> if (layer&#45;&#62;lefiLayer::hasDensityCheckWindow())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023902"> fprintf(fout, &#34; DENSITYCHECKWINDOW %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023903"> layer&#45;&#62;lefiLayer::densityCheckWindowLength(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023904"> layer&#45;&#62;lefiLayer::densityCheckWindowWidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023905"> if (layer&#45;&#62;lefiLayer::hasDensityCheckStep())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023906"> fprintf(fout, &#34; DENSITYCHECKSTEP %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023907"> layer&#45;&#62;lefiLayer::densityCheckStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023908"> if (layer&#45;&#62;lefiLayer::hasFillActiveSpacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023909"> fprintf(fout, &#34; FILLACTIVESPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023910"> layer&#45;&#62;lefiLayer::fillActiveSpacing());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023911"> &#47;&#47; 5.4.1</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023912"> numMinCut = layer&#45;&#62;lefiLayer::numMinimumcut();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023913"> if (numMinCut &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023914"> for (i = 0; i &#60; numMinCut; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023915"> fprintf(fout, &#34; MINIMUMCUT %d WIDTH %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023916"> layer&#45;&#62;lefiLayer::minimumcut(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023917"> layer&#45;&#62;lefiLayer::minimumcutWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023918"> if (layer&#45;&#62;lefiLayer::hasMinimumcutWithin(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023919"> fprintf(fout, &#34;WITHIN %g &#34;, layer&#45;&#62;lefiLayer::minimumcutWithin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023920"> if (layer&#45;&#62;lefiLayer::hasMinimumcutConnection(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023921"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::minimumcutConnection(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023922"> if (layer&#45;&#62;lefiLayer::hasMinimumcutNumCuts(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023923"> fprintf(fout, &#34;LENGTH %g WITHIN %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023924"> layer&#45;&#62;lefiLayer::minimumcutLength(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023925"> layer&#45;&#62;lefiLayer::minimumcutDistance(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023926"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023927"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023928"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023929"> &#47;&#47; 5.4.1</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023930"> if (layer&#45;&#62;lefiLayer::hasMaxwidth()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023931"> fprintf(fout, &#34; MAXWIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::maxwidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023932"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023933"> &#47;&#47; 5.5</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023934"> if (layer&#45;&#62;lefiLayer::hasMinwidth()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023935"> fprintf(fout, &#34; MINWIDTH %g ;\n&#34;, layer&#45;&#62;lefiLayer::minwidth());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023936"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023937"> &#47;&#47; 5.5</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023938"> numMinenclosed = layer&#45;&#62;lefiLayer::numMinenclosedarea();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023939"> if (numMinenclosed &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023940"> for (i = 0; i &#60; numMinenclosed; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023941"> fprintf(fout, &#34; MINENCLOSEDAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023942"> layer&#45;&#62;lefiLayer::minenclosedarea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023943"> if (layer&#45;&#62;lefiLayer::hasMinenclosedareaWidth(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023944"> fprintf(fout, &#34;MINENCLOSEDAREAWIDTH %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023945"> layer&#45;&#62;lefiLayer::minenclosedareaWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023946"> fprintf (fout, &#34;;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023947"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023948"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023949"> &#47;&#47; 5.4.1 &amp; 5.6</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023950"> if (layer&#45;&#62;lefiLayer::hasMinstep()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023951"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numMinstep(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023952"> fprintf(fout, &#34; MINSTEP %g &#34;, layer&#45;&#62;lefiLayer::minstep(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023953"> if (layer&#45;&#62;lefiLayer::hasMinstepType(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023954"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::minstepType(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023955"> if (layer&#45;&#62;lefiLayer::hasMinstepLengthsum(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023956"> fprintf(fout, &#34;LENGTHSUM %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023957"> layer&#45;&#62;lefiLayer::minstepLengthsum(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023958"> if (layer&#45;&#62;lefiLayer::hasMinstepMaxedges(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023959"> fprintf(fout, &#34;MAXEDGES %d &#34;, layer&#45;&#62;lefiLayer::minstepMaxedges(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023960"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023961"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023962"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023963"> &#47;&#47; 5.4.1</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023964"> if (layer&#45;&#62;lefiLayer::hasProtrusion()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023965"> fprintf(fout, &#34; PROTRUSIONWIDTH %g LENGTH %g WIDTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023966"> layer&#45;&#62;lefiLayer::protrusionWidth1(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023967"> layer&#45;&#62;lefiLayer::protrusionLength(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023968"> layer&#45;&#62;lefiLayer::protrusionWidth2());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023969"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023970"> if (layer&#45;&#62;lefiLayer::hasSpacingNumber()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023971"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numSpacing(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023972"> fprintf(fout, &#34; SPACING %g &#34;, layer&#45;&#62;lefiLayer::spacing(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023973"> if (layer&#45;&#62;lefiLayer::hasSpacingName(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023974"> fprintf(fout, &#34;LAYER %s &#34;, layer&#45;&#62;lefiLayer::spacingName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023975"> if (layer&#45;&#62;lefiLayer::hasSpacingLayerStack(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023976"> fprintf(fout, &#34;STACK &#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023977"> if (layer&#45;&#62;lefiLayer::hasSpacingAdjacent(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023978"> fprintf(fout, &#34;ADJACENTCUTS %d WITHIN %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023979"> layer&#45;&#62;lefiLayer::spacingAdjacentCuts(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023980"> layer&#45;&#62;lefiLayer::spacingAdjacentWithin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023981"> if (layer&#45;&#62;lefiLayer::hasSpacingAdjacentExcept(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023982"> fprintf(fout, &#34;EXCEPTSAMEPGNET &#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023983"> if (layer&#45;&#62;lefiLayer::hasSpacingCenterToCenter(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023984"> fprintf(fout, &#34;CENTERTOCENTER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023985"> if (layer&#45;&#62;lefiLayer::hasSpacingSamenet(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023986"> fprintf(fout, &#34;SAMENET &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023987"> if (layer&#45;&#62;lefiLayer::hasSpacingSamenetPGonly(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023988"> fprintf(fout, &#34;PGONLY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023989"> if (layer&#45;&#62;lefiLayer::hasSpacingArea(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023990"> fprintf(fout, &#34;AREA %g &#34;, layer&#45;&#62;lefiLayer::spacingArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023991"> if (layer&#45;&#62;lefiLayer::hasSpacingRange(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023992"> fprintf(fout, &#34;RANGE %g %g &#34;, layer&#45;&#62;lefiLayer::spacingRangeMin(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023993"> layer&#45;&#62;lefiLayer::spacingRangeMax(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023994"> if (layer&#45;&#62;lefiLayer::hasSpacingRangeUseLengthThreshold(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023995"> fprintf(fout, &#34;USELENGTHTHRESHOLD &#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023996"> else if (layer&#45;&#62;lefiLayer::hasSpacingRangeInfluence(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023997"> fprintf(fout, &#34;INFLUENCE %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023998"> layer&#45;&#62;lefiLayer::spacingRangeInfluence(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1023999"> if (layer&#45;&#62;lefiLayer::hasSpacingRangeInfluenceRange(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024000"> fprintf(fout, &#34;RANGE %g %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024001"> layer&#45;&#62;lefiLayer::spacingRangeInfluenceMin(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024002"> layer&#45;&#62;lefiLayer::spacingRangeInfluenceMax(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024003"> } else if (layer&#45;&#62;lefiLayer::hasSpacingRangeRange(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024004"> fprintf(fout, &#34;RANGE %g %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024005"> layer&#45;&#62;lefiLayer::spacingRangeRangeMin(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024006"> layer&#45;&#62;lefiLayer::spacingRangeRangeMax(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024007"> } else if (layer&#45;&#62;lefiLayer::hasSpacingLengthThreshold(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024008"> fprintf(fout, &#34;LENGTHTHRESHOLD %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024009"> layer&#45;&#62;lefiLayer::spacingLengthThreshold(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024010"> if (layer&#45;&#62;lefiLayer::hasSpacingLengthThresholdRange(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024011"> fprintf(fout, &#34;RANGE %g %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024012"> layer&#45;&#62;lefiLayer::spacingLengthThresholdRangeMin(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024013"> layer&#45;&#62;lefiLayer::spacingLengthThresholdRangeMax(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024014"> } else if (layer&#45;&#62;lefiLayer::hasSpacingNotchLength(i)) {&#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024015"> fprintf(fout, &#34;NOTCHLENGTH %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024016"> layer&#45;&#62;lefiLayer::spacingNotchLength(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024017"> } else if (layer&#45;&#62;lefiLayer::hasSpacingEndOfNotchWidth(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024018"> fprintf(fout, &#34;ENDOFNOTCHWIDTH %g NOTCHSPACING %g, NOTCHLENGTH %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024019"> layer&#45;&#62;lefiLayer::spacingEndOfNotchWidth(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024020"> layer&#45;&#62;lefiLayer::spacingEndOfNotchSpacing(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024021"> layer&#45;&#62;lefiLayer::spacingEndOfNotchLength(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024022">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024023"> if (layer&#45;&#62;lefiLayer::hasSpacingParallelOverlap(i)) &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024024"> fprintf(fout, &#34;PARALLELOVERLAP &#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024025"> if (layer&#45;&#62;lefiLayer::hasSpacingEndOfLine(i)) { &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024026"> fprintf(fout, &#34;ENDOFLINE %g WITHING %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024027"> layer&#45;&#62;lefiLayer::spacingEolWidth(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024028"> layer&#45;&#62;lefiLayer::spacingEolWithin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024029"> if (layer&#45;&#62;lefiLayer::hasSpacingParellelEdge(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024030"> fprintf(fout, &#34;PARALLELEDGE %g WITHING %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024031"> layer&#45;&#62;lefiLayer::spacingParSpace(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024032"> layer&#45;&#62;lefiLayer::spacingParWithin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024033"> if (layer&#45;&#62;lefiLayer::hasSpacingTwoEdges(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024034"> fprintf(fout, &#34;TWOEDGES &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024035"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024036"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024037"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024038"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024039"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024040"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024041"> if (layer&#45;&#62;lefiLayer::hasSpacingTableOrtho()) { &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024042"> fprintf(fout, &#34;SPACINGTABLE ORTHOGONAL&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024043"> ortho = layer&#45;&#62;lefiLayer::orthogonal();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024044"> for (i = 0; i &#60; ortho&#45;&#62;lefiOrthogonal::numOrthogonal(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024045"> fprintf(fout, &#34;\n WITHIN %g SPACING %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024046"> ortho&#45;&#62;lefiOrthogonal::cutWithin(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024047"> ortho&#45;&#62;lefiOrthogonal::orthoSpacing(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024048"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024049"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024050"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024051"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numEnclosure(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024052"> fprintf(fout, &#34;ENCLOSURE &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024053"> if (layer&#45;&#62;lefiLayer::hasEnclosureRule(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024054"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::enclosureRule(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024055"> fprintf(fout, &#34;%g %g &#34;, layer&#45;&#62;lefiLayer::enclosureOverhang1(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024056"> layer&#45;&#62;lefiLayer::enclosureOverhang2(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024057"> if (layer&#45;&#62;lefiLayer::hasEnclosureWidth(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024058"> fprintf(fout, &#34;WIDTH %g &#34;, layer&#45;&#62;lefiLayer::enclosureMinWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024059"> if (layer&#45;&#62;lefiLayer::hasEnclosureExceptExtraCut(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024060"> fprintf(fout, &#34;EXCEPTEXTRACUT %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024061"> layer&#45;&#62;lefiLayer::enclosureExceptExtraCut(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024062"> if (layer&#45;&#62;lefiLayer::hasEnclosureMinLength(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024063"> fprintf(fout, &#34;LENGTH %g &#34;, layer&#45;&#62;lefiLayer::enclosureMinLength(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024064"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024065"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024066"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numPreferEnclosure(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024067"> fprintf(fout, &#34;PREFERENCLOSURE &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024068"> if (layer&#45;&#62;lefiLayer::hasPreferEnclosureRule(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024069"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::preferEnclosureRule(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024070"> fprintf(fout, &#34;%g %g &#34;, layer&#45;&#62;lefiLayer::preferEnclosureOverhang1(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024071"> layer&#45;&#62;lefiLayer::preferEnclosureOverhang2(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024072"> if (layer&#45;&#62;lefiLayer::hasPreferEnclosureWidth(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024073"> fprintf(fout, &#34;WIDTH %g &#34;,layer&#45;&#62;lefiLayer::preferEnclosureMinWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024074"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024075"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024076"> if (layer&#45;&#62;lefiLayer::hasResistancePerCut())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024077"> fprintf(fout, &#34; RESISTANCE %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024078"> layer&#45;&#62;lefiLayer::resistancePerCut());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024079"> if (layer&#45;&#62;lefiLayer::hasCurrentDensityPoint())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024080"> fprintf(fout, &#34; CURRENTDEN %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024081"> layer&#45;&#62;lefiLayer::currentDensityPoint());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024082"> if (layer&#45;&#62;lefiLayer::hasCurrentDensityArray()) { </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024083"> layer&#45;&#62;lefiLayer::currentDensityArray(&amp;numPoints, &amp;widths, &amp;current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024084"> for (i = 0; i &#60; numPoints; i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024085"> fprintf(fout, &#34; CURRENTDEN ( %g %g ) ;\n&#34;, widths[i], current[i]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024086"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024087"> if (layer&#45;&#62;lefiLayer::hasDirection())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024088"> fprintf(fout, &#34; DIRECTION %s ;\n&#34;, layer&#45;&#62;lefiLayer::direction());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024089"> if (layer&#45;&#62;lefiLayer::hasResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024090"> fprintf(fout, &#34; RESISTANCE RPERSQ %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024091"> layer&#45;&#62;lefiLayer::resistance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024092"> if (layer&#45;&#62;lefiLayer::hasCapacitance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024093"> fprintf(fout, &#34; CAPACITANCE CPERSQDIST %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024094"> layer&#45;&#62;lefiLayer::capacitance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024095"> if (layer&#45;&#62;lefiLayer::hasEdgeCap())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024096"> fprintf(fout, &#34; EDGECAPACITANCE %g ;\n&#34;, layer&#45;&#62;lefiLayer::edgeCap());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024097"> if (layer&#45;&#62;lefiLayer::hasHeight())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024098"> fprintf(fout, &#34; TYPE %g ;\n&#34;, layer&#45;&#62;lefiLayer::height());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024099"> if (layer&#45;&#62;lefiLayer::hasThickness())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024100"> fprintf(fout, &#34; THICKNESS %g ;\n&#34;, layer&#45;&#62;lefiLayer::thickness());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024101"> if (layer&#45;&#62;lefiLayer::hasWireExtension())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024102"> fprintf(fout, &#34; WIREEXTENSION %g ;\n&#34;, layer&#45;&#62;lefiLayer::wireExtension());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024103"> if (layer&#45;&#62;lefiLayer::hasShrinkage())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024104"> fprintf(fout, &#34; SHRINKAGE %g ;\n&#34;, layer&#45;&#62;lefiLayer::shrinkage());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024105"> if (layer&#45;&#62;lefiLayer::hasCapMultiplier())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024106"> fprintf(fout, &#34; CAPMULTIPLIER %g ;\n&#34;, layer&#45;&#62;lefiLayer::capMultiplier());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024107"> if (layer&#45;&#62;lefiLayer::hasAntennaArea())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024108"> fprintf(fout, &#34; ANTENNAAREAFACTOR %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024109"> layer&#45;&#62;lefiLayer::antennaArea());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024110"> if (layer&#45;&#62;lefiLayer::hasAntennaLength())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024111"> fprintf(fout, &#34; ANTENNALENGTHFACTOR %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024112"> layer&#45;&#62;lefiLayer::antennaLength());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024113">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024114"> &#47;&#47; 5.5 AntennaModel</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024115"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numAntennaModel(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024116"> aModel = layer&#45;&#62;lefiLayer::antennaModel(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024117">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024118"> fprintf(fout, &#34; ANTENNAMODEL %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024119"> aModel&#45;&#62;lefiAntennaModel::antennaOxide());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024120"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024121"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024122"> fprintf(fout, &#34; ANTENNAAREARATIO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024123"> aModel&#45;&#62;lefiAntennaModel::antennaAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024124"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaDiffAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024125"> fprintf(fout, &#34; ANTENNADIFFAREARATIO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024126"> aModel&#45;&#62;lefiAntennaModel::antennaDiffAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024127"> else if (aModel&#45;&#62;lefiAntennaModel::hasAntennaDiffAreaRatioPWL()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024128"> pwl = aModel&#45;&#62;lefiAntennaModel::antennaDiffAreaRatioPWL();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024129"> fprintf(fout, &#34; ANTENNADIFFAREARATIO PWL ( &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024130"> for (j = 0; j &#60; pwl&#45;&#62;lefiAntennaPWL::numPWL(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024131"> fprintf(fout, &#34;( %g %g ) &#34;, pwl&#45;&#62;lefiAntennaPWL::PWLdiffusion(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024132"> pwl&#45;&#62;lefiAntennaPWL::PWLratio(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024133"> fprintf(fout, &#34;) ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024134"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024135"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024136"> fprintf(fout, &#34; ANTENNACUMAREARATIO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024137"> aModel&#45;&#62;lefiAntennaModel::antennaCumAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024138"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumDiffAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024139"> fprintf(fout, &#34; ANTENNACUMDIFFAREARATIO %g\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024140"> aModel&#45;&#62;lefiAntennaModel::antennaCumDiffAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024141"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumDiffAreaRatioPWL()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024142"> pwl = aModel&#45;&#62;lefiAntennaModel::antennaCumDiffAreaRatioPWL();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024143"> fprintf(fout, &#34; ANTENNACUMDIFFAREARATIO PWL ( &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024144"> for (j = 0; j &#60; pwl&#45;&#62;lefiAntennaPWL::numPWL(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024145"> fprintf(fout, &#34;( %g %g ) &#34;, pwl&#45;&#62;lefiAntennaPWL::PWLdiffusion(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024146"> pwl&#45;&#62;lefiAntennaPWL::PWLratio(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024147"> fprintf(fout, &#34;) ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024148"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024149"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaAreaFactor()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024150"> fprintf(fout, &#34; ANTENNAAREAFACTOR %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024151"> aModel&#45;&#62;lefiAntennaModel::antennaAreaFactor());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024152"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaAreaFactorDUO())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024153"> fprintf(fout, &#34; DIFFUSEONLY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024154"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024155"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024156"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaSideAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024157"> fprintf(fout, &#34; ANTENNASIDEAREARATIO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024158"> aModel&#45;&#62;lefiAntennaModel::antennaSideAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024159"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaDiffSideAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024160"> fprintf(fout, &#34; ANTENNADIFFSIDEAREARATIO %g\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024161"> aModel&#45;&#62;lefiAntennaModel::antennaDiffSideAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024162"> else if (aModel&#45;&#62;lefiAntennaModel::hasAntennaDiffSideAreaRatioPWL()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024163"> pwl = aModel&#45;&#62;lefiAntennaModel::antennaDiffSideAreaRatioPWL();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024164"> fprintf(fout, &#34; ANTENNADIFFSIDEAREARATIO PWL ( &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024165"> for (j = 0; j &#60; pwl&#45;&#62;lefiAntennaPWL::numPWL(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024166"> fprintf(fout, &#34;( %g %g ) &#34;, pwl&#45;&#62;lefiAntennaPWL::PWLdiffusion(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024167"> pwl&#45;&#62;lefiAntennaPWL::PWLratio(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024168"> fprintf(fout, &#34;) ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024169"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024170"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumSideAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024171"> fprintf(fout, &#34; ANTENNACUMSIDEAREARATIO %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024172"> aModel&#45;&#62;lefiAntennaModel::antennaCumSideAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024173"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumDiffSideAreaRatio())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024174"> fprintf(fout, &#34; ANTENNACUMDIFFSIDEAREARATIO %g\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024175"> aModel&#45;&#62;lefiAntennaModel::antennaCumDiffSideAreaRatio());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024176"> else if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumDiffSideAreaRatioPWL()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024177"> pwl = aModel&#45;&#62;lefiAntennaModel::antennaCumDiffSideAreaRatioPWL();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024178"> fprintf(fout, &#34; ANTENNACUMDIFFSIDEAREARATIO PWL ( &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024179"> for (j = 0; j &#60; pwl&#45;&#62;lefiAntennaPWL::numPWL(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024180"> fprintf(fout, &#34;( %g %g ) &#34;, pwl&#45;&#62;lefiAntennaPWL::PWLdiffusion(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024181"> pwl&#45;&#62;lefiAntennaPWL::PWLratio(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024182"> fprintf(fout, &#34;) ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024183"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024184"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaSideAreaFactor()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024185"> fprintf(fout, &#34; ANTENNASIDEAREAFACTOR %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024186"> aModel&#45;&#62;lefiAntennaModel::antennaSideAreaFactor());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024187"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaSideAreaFactorDUO())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024188"> fprintf(fout, &#34; DIFFUSEONLY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024189"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024190"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024191"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaCumRoutingPlusCut())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024192"> fprintf(fout, &#34; ANTENNACUMROUTINGPLUSCUT ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024193"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaGatePlusDiff())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024194"> fprintf(fout, &#34; ANTENNAGATEPLUSDIFF %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024195"> aModel&#45;&#62;lefiAntennaModel::antennaGatePlusDiff());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024196"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaAreaMinusDiff())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024197"> fprintf(fout, &#34; ANTENNAAREAMINUSDIFF %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024198"> aModel&#45;&#62;lefiAntennaModel::antennaAreaMinusDiff());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024199"> if (aModel&#45;&#62;lefiAntennaModel::hasAntennaAreaDiffReducePWL()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024200"> pwl = aModel&#45;&#62;lefiAntennaModel::antennaAreaDiffReducePWL();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024201"> fprintf(fout, &#34; ANTENNAAREADIFFREDUCEPWL ( &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024202"> for (j = 0; j &#60; pwl&#45;&#62;lefiAntennaPWL::numPWL(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024203"> fprintf(fout, &#34;( %g %g ) &#34;, pwl&#45;&#62;lefiAntennaPWL::PWLdiffusion(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024204"> pwl&#45;&#62;lefiAntennaPWL::PWLratio(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024205"> fprintf(fout, &#34;) ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024206"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024207"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024208">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024209"> if (layer&#45;&#62;lefiLayer::numAccurrentDensity()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024210"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numAccurrentDensity(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024211"> density = layer&#45;&#62;lefiLayer::accurrent(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024212"> fprintf(fout, &#34; ACCURRENTDENSITY %s&#34;, density&#45;&#62;type()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024213"> if (density&#45;&#62;hasOneEntry())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024214"> fprintf(fout, &#34; %g ;\n&#34;, density&#45;&#62;oneEntry()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024215"> else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024216"> fprintf(fout, &#34;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024217"> if (density&#45;&#62;numFrequency()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024218"> fprintf(fout, &#34; FREQUENCY&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024219"> for (j = 0; j &#60; density&#45;&#62;numFrequency(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024220"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;frequency(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024221"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024222"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024223"> if (density&#45;&#62;numCutareas()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024224"> fprintf(fout, &#34; CUTAREA&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024225"> for (j = 0; j &#60; density&#45;&#62;numCutareas(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024226"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;cutArea(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024227"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024228"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024229"> if (density&#45;&#62;numWidths()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024230"> fprintf(fout, &#34; WIDTH&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024231"> for (j = 0; j &#60; density&#45;&#62;numWidths(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024232"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;width(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024233"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024234"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024235"> if (density&#45;&#62;numTableEntries()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024236"> k = 5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024237"> fprintf(fout, &#34; TABLEENTRIES&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024238"> for (j = 0; j &#60; density&#45;&#62;numTableEntries(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024239"> if (k &#62; 4) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024240"> fprintf(fout, &#34;\n %g&#34;, density&#45;&#62;tableEntry(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024241"> k = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024242"> } else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024243"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;tableEntry(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024244"> k++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024245"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024246"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024247"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024248"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024249"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024250"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024251"> if (layer&#45;&#62;lefiLayer::numDccurrentDensity()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024252"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numDccurrentDensity(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024253"> density = layer&#45;&#62;lefiLayer::dccurrent(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024254"> fprintf(fout, &#34; DCCURRENTDENSITY %s&#34;, density&#45;&#62;type()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024255"> if (density&#45;&#62;hasOneEntry())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024256"> fprintf(fout, &#34; %g ;\n&#34;, density&#45;&#62;oneEntry()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024257"> else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024258"> fprintf(fout, &#34;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024259"> if (density&#45;&#62;numCutareas()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024260"> fprintf(fout, &#34; CUTAREA&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024261"> for (j = 0; j &#60; density&#45;&#62;numCutareas(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024262"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;cutArea(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024263"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024264"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024265"> if (density&#45;&#62;numWidths()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024266"> fprintf(fout, &#34; WIDTH&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024267"> for (j = 0; j &#60; density&#45;&#62;numWidths(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024268"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;width(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024269"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024270"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024271"> if (density&#45;&#62;numTableEntries()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024272"> fprintf(fout, &#34; TABLEENTRIES&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024273"> for (j = 0; j &#60; density&#45;&#62;numTableEntries(); j++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024274"> fprintf(fout, &#34; %g&#34;, density&#45;&#62;tableEntry(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024275"> fprintf(fout, &#34; ;\n&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024276"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024277"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024278"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024279"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024280">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024281"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numSpacingTable(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024282"> spTable = layer&#45;&#62;lefiLayer::spacingTable(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024283"> fprintf(fout, &#34; SPACINGTABLE\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024284"> if (spTable&#45;&#62;lefiSpacingTable::isInfluence()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024285"> influence = spTable&#45;&#62;lefiSpacingTable::influence();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024286"> fprintf(fout, &#34; INFLUENCE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024287"> for (j = 0; j &#60; influence&#45;&#62;lefiInfluence::numInfluenceEntry(); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024288"> fprintf(fout, &#34;\n WIDTH %g WITHIN %g SPACING %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024289"> influence&#45;&#62;lefiInfluence::width(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024290"> influence&#45;&#62;lefiInfluence::distance(j),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024291"> influence&#45;&#62;lefiInfluence::spacing(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024292"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024293"> fprintf(fout, &#34; ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024294"> } else if (spTable&#45;&#62;lefiSpacingTable::isParallel()){</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024295"> parallel = spTable&#45;&#62;lefiSpacingTable::parallel();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024296"> fprintf(fout, &#34; PARALLELRUNLENGTH&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024297"> for (j = 0; j &#60; parallel&#45;&#62;lefiParallel::numLength(); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024298"> fprintf(fout, &#34; %g&#34;, parallel&#45;&#62;lefiParallel::length(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024299"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024300"> for (j = 0; j &#60; parallel&#45;&#62;lefiParallel::numWidth(); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024301"> fprintf(fout, &#34;\n WIDTH %g&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024302"> parallel&#45;&#62;lefiParallel::width(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024303"> for (k = 0; k &#60; parallel&#45;&#62;lefiParallel::numLength(); k++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024304"> fprintf(fout, &#34; %g&#34;, parallel&#45;&#62;lefiParallel::widthSpacing(j, k));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024305"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024306"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024307"> fprintf(fout, &#34; ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024308"> } else { &#47;&#47; 5.7 TWOWIDTHS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024309"> twoWidths = spTable&#45;&#62;lefiSpacingTable::twoWidths();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024310"> fprintf(fout, &#34; TWOWIDTHS&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024311"> for (j = 0; j &#60; twoWidths&#45;&#62;lefiTwoWidths::numWidth(); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024312"> fprintf(fout, &#34;\n WIDTH %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024313"> twoWidths&#45;&#62;lefiTwoWidths::width(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024314"> if (twoWidths&#45;&#62;lefiTwoWidths::hasWidthPRL(j))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024315"> fprintf(fout, &#34;PRL %g &#34;, twoWidths&#45;&#62;lefiTwoWidths::widthPRL(j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024316"> for (k = 0; k &#60; twoWidths&#45;&#62;lefiTwoWidths::numWidthSpacing(j); k++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024317"> fprintf(fout, &#34;%g &#34;,twoWidths&#45;&#62;lefiTwoWidths::widthSpacing(j, k));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024318"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024319"> fprintf(fout, &#34; ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024320"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024321"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024322">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024323"> propNum = layer&#45;&#62;lefiLayer::numProps();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024324"> if (propNum &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024325"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024326"> for (i = 0; i &#60; propNum; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024327"> &#47;&#47; value can either be a string or number</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024328"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::propName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024329"> if (layer&#45;&#62;lefiLayer::propIsNumber(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024330"> fprintf(fout, &#34;%g &#34;, layer&#45;&#62;lefiLayer::propNumber(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024331"> if (layer&#45;&#62;lefiLayer::propIsString(i)) </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024332"> fprintf(fout, &#34;%s &#34;, layer&#45;&#62;lefiLayer::propValue(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024333"> pType = layer&#45;&#62;lefiLayer::propType(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024334"> switch (pType) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024335"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024336"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024337"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024338"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024339"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024340"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024341"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024342"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024343"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024344"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024345"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024346"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024347"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024348"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024349"> if (layer&#45;&#62;lefiLayer::hasDiagMinEdgeLength())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024350"> fprintf(fout, &#34; DIAGMINEDGELENGTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024351"> layer&#45;&#62;lefiLayer::diagMinEdgeLength());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024352"> if (layer&#45;&#62;lefiLayer::numMinSize()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024353"> fprintf(fout, &#34; MINSIZE &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024354"> for (i = 0; i &#60; layer&#45;&#62;lefiLayer::numMinSize(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024355"> fprintf(fout, &#34;%g %g &#34;, layer&#45;&#62;lefiLayer::minSizeWidth(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024356"> layer&#45;&#62;lefiLayer::minSizeLength(i)); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024357"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024358"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024359"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024360">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024361"> fprintf(fout, &#34;END %s\n&#34;, layer&#45;&#62;lefiLayer::name()); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024362">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024363"> &#47;&#47; Set it to case sensitive from here on</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024364"> lefrSetCaseSensitivity(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024365">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024366"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024367">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024368">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024369">int macroBeginCB(lefrCallbackType_e c, const char* macroName, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024370"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024371">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024372"> fprintf(fout, &#34;MACRO %s\n&#34;, macroName);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024373"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024374">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024375">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024376">int macroClassTypeCB(lefrCallbackType_e c, const char* macroClassType,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024377"> lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024378"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024379">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024380"> fprintf(fout, &#34;MACRO CLASS %s\n&#34;, macroClassType);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024381"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024382">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024383">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024384">int macroCB(lefrCallbackType_e c, lefiMacro* macro, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024385"> lefiSitePattern* pattern;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024386"> int propNum, i, hasPrtSym = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024387">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024388"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024389">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024390"> if (macro&#45;&#62;lefiMacro::hasClass())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024391"> fprintf(fout, &#34; CLASS %s ;\n&#34;, macro&#45;&#62;lefiMacro::macroClass());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024392"> if (macro&#45;&#62;lefiMacro::hasEEQ())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024393"> fprintf(fout, &#34; EEQ %s ;\n&#34;, macro&#45;&#62;lefiMacro::EEQ());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024394"> if (macro&#45;&#62;lefiMacro::hasLEQ())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024395"> fprintf(fout, &#34; LEQ %s ;\n&#34;, macro&#45;&#62;lefiMacro::LEQ());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024396"> if (macro&#45;&#62;lefiMacro::hasSource())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024397"> fprintf(fout, &#34; SOURCE %s ;\n&#34;, macro&#45;&#62;lefiMacro::source());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024398"> if (macro&#45;&#62;lefiMacro::hasXSymmetry()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024399"> fprintf(fout, &#34; SYMMETRY X &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024400"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024401"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024402"> if (macro&#45;&#62;lefiMacro::hasYSymmetry()) { &#47;&#47; print X Y &amp; R90 in one line</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024403"> if (!hasPrtSym) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024404"> fprintf(fout, &#34; SYMMETRY Y &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024405"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024406"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024407"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024408"> fprintf(fout, &#34;Y &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024409"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024410"> if (macro&#45;&#62;lefiMacro::has90Symmetry()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024411"> if (!hasPrtSym) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024412"> fprintf(fout, &#34; SYMMETRY R90 &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024413"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024414"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024415"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024416"> fprintf(fout, &#34;R90 &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024417"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024418"> if (hasPrtSym) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024419"> fprintf (fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024420"> hasPrtSym = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024421"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024422"> if (macro&#45;&#62;lefiMacro::hasSiteName())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024423"> fprintf(fout, &#34; SITE %s ;\n&#34;, macro&#45;&#62;lefiMacro::siteName());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024424"> if (macro&#45;&#62;lefiMacro::hasSitePattern()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024425"> for (i = 0; i &#60; macro&#45;&#62;lefiMacro::numSitePattern(); i++ ) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024426"> pattern = macro&#45;&#62;lefiMacro::sitePattern(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024427"> if (pattern&#45;&#62;lefiSitePattern::hasStepPattern()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024428"> fprintf(fout, &#34; SITE %s %g %g %s DO %g BY %g STEP %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024429"> pattern&#45;&#62;lefiSitePattern::name(), pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024430"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024431"> orientStr(pattern&#45;&#62;lefiSitePattern::orient()),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024432"> pattern&#45;&#62;lefiSitePattern::xStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024433"> pattern&#45;&#62;lefiSitePattern::yStart(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024434"> pattern&#45;&#62;lefiSitePattern::xStep(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024435"> pattern&#45;&#62;lefiSitePattern::yStep());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024436"> } else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024437"> fprintf(fout, &#34; SITE %s %g %g %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024438"> pattern&#45;&#62;lefiSitePattern::name(), pattern&#45;&#62;lefiSitePattern::x(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024439"> pattern&#45;&#62;lefiSitePattern::y(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024440"> orientStr(pattern&#45;&#62;lefiSitePattern::orient()));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024441"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024442"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024443"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024444"> if (macro&#45;&#62;lefiMacro::hasSize())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024445"> fprintf(fout, &#34; SIZE %g BY %g ;\n&#34;, macro&#45;&#62;lefiMacro::sizeX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024446"> macro&#45;&#62;lefiMacro::sizeY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024447">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024448"> if (macro&#45;&#62;lefiMacro::hasForeign()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024449"> for (i = 0; i &#60; macro&#45;&#62;lefiMacro::numForeigns(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024450"> fprintf(fout, &#34; FOREIGN %s &#34;, macro&#45;&#62;lefiMacro::foreignName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024451"> if (macro&#45;&#62;lefiMacro::hasForeignPoint(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024452"> fprintf(fout, &#34;( %g %g ) &#34;, macro&#45;&#62;lefiMacro::foreignX(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024453"> macro&#45;&#62;lefiMacro::foreignY(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024454"> if (macro&#45;&#62;lefiMacro::hasForeignOrient(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024455"> fprintf(fout, &#34;%s &#34;, macro&#45;&#62;lefiMacro::foreignOrientStr(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024456"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024457"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024458"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024459"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024460"> if (macro&#45;&#62;lefiMacro::hasOrigin())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024461"> fprintf(fout, &#34; ORIGIN ( %g %g ) ;\n&#34;, macro&#45;&#62;lefiMacro::originX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024462"> macro&#45;&#62;lefiMacro::originY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024463"> if (macro&#45;&#62;lefiMacro::hasPower())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024464"> fprintf(fout, &#34; POWER %g ;\n&#34;, macro&#45;&#62;lefiMacro::power());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024465"> propNum = macro&#45;&#62;lefiMacro::numProperties();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024466"> if (propNum &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024467"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024468"> for (i = 0; i &#60; propNum; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024469"> &#47;&#47; value can either be a string or number</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024470"> if (macro&#45;&#62;lefiMacro::propValue(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024471"> fprintf(fout, &#34;%s %s &#34;, macro&#45;&#62;lefiMacro::propName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024472"> macro&#45;&#62;lefiMacro::propValue(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024473"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024474"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024475"> fprintf(fout, &#34;%s %g &#34;, macro&#45;&#62;lefiMacro::propName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024476"> macro&#45;&#62;lefiMacro::propNum(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024477">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024478"> switch (macro&#45;&#62;lefiMacro::propType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024479"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024480"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024481"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024482"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024483"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024484"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024485"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024486"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024487"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024488"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024489"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024490"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024491"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024492"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024493"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024494">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024495">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024496">int macroEndCB(lefrCallbackType_e c, const char* macroName, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024497"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024498">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024499"> fprintf(fout, &#34;END %s\n&#34;, macroName);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024500"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024501">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024502">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024503">int manufacturingCB(lefrCallbackType_e c, double num, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024504"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024505">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024506"> fprintf(fout, &#34;MANUFACTURINGGRID %g ;\n&#34;, num);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024507"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024508">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024509">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024510">int maxStackViaCB(lefrCallbackType_e c, lefiMaxStackVia* maxStack,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024511"> lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024512"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024513">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024514"> fprintf(fout, &#34;MAXVIASTACK %d &#34;, maxStack&#45;&#62;lefiMaxStackVia::maxStackVia());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024515"> if (maxStack&#45;&#62;lefiMaxStackVia::hasMaxStackViaRange())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024516"> fprintf(fout, &#34;RANGE %s %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024517"> maxStack&#45;&#62;lefiMaxStackVia::maxStackViaBottomLayer(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024518"> maxStack&#45;&#62;lefiMaxStackVia::maxStackViaTopLayer());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024519"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024520"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024521">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024522">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024523">int minFeatureCB(lefrCallbackType_e c, lefiMinFeature* min, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024524"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024525">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024526"> fprintf(fout, &#34;MINFEATURE %g %g ;\n&#34;, min&#45;&#62;lefiMinFeature::one(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024527"> min&#45;&#62;lefiMinFeature::two());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024528"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024529">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024530">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024531">int nonDefaultCB(lefrCallbackType_e c, lefiNonDefault* def, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024532"> int i;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024533"> lefiVia* via;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024534"> lefiSpacing* spacing;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024535">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024536"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024537">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024538"> fprintf(fout, &#34;NONDEFAULTRULE %s\n&#34;, def&#45;&#62;lefiNonDefault::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024539"> if (def&#45;&#62;lefiNonDefault::hasHardspacing())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024540"> fprintf(fout, &#34; HARDSPACING ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024541"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numLayers(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024542"> fprintf(fout, &#34; LAYER %s\n&#34;, def&#45;&#62;lefiNonDefault::layerName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024543"> if (def&#45;&#62;lefiNonDefault::hasLayerWidth(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024544"> fprintf(fout, &#34; WIDTH %g ;\n&#34;, def&#45;&#62;lefiNonDefault::layerWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024545"> if (def&#45;&#62;lefiNonDefault::hasLayerSpacing(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024546"> fprintf(fout, &#34; SPACING %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024547"> def&#45;&#62;lefiNonDefault::layerSpacing(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024548"> if (def&#45;&#62;lefiNonDefault::hasLayerDiagWidth(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024549"> fprintf(fout, &#34; DIAGWIDTH %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024550"> def&#45;&#62;lefiNonDefault::layerDiagWidth(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024551"> if (def&#45;&#62;lefiNonDefault::hasLayerWireExtension(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024552"> fprintf(fout, &#34; WIREEXTENSION %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024553"> def&#45;&#62;lefiNonDefault::layerWireExtension(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024554"> if (def&#45;&#62;lefiNonDefault::hasLayerResistance(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024555"> fprintf(fout, &#34; RESISTANCE RPERSQ %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024556"> def&#45;&#62;lefiNonDefault::layerResistance(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024557"> if (def&#45;&#62;lefiNonDefault::hasLayerCapacitance(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024558"> fprintf(fout, &#34; CAPACITANCE CPERSQDIST %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024559"> def&#45;&#62;lefiNonDefault::layerCapacitance(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024560"> if (def&#45;&#62;lefiNonDefault::hasLayerEdgeCap(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024561"> fprintf(fout, &#34; EDGECAPACITANCE %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024562"> def&#45;&#62;lefiNonDefault::layerEdgeCap(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024563"> fprintf(fout, &#34; END %s\n&#34;, def&#45;&#62;lefiNonDefault::layerName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024564"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024565">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024566"> &#47;&#47; handle via in nondefaultrule</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024567"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numVias(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024568"> via = def&#45;&#62;lefiNonDefault::viaRule(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024569"> lefVia(via);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024570"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024571">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024572"> &#47;&#47; handle spacing in nondefaultrule</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024573"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numSpacingRules(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024574"> spacing = def&#45;&#62;lefiNonDefault::spacingRule(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024575"> lefSpacing(spacing);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024576"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024577">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024578"> &#47;&#47; handle usevia</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024579"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numUseVia(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024580"> fprintf(fout, &#34; USEVIA %s ;\n&#34;, def&#45;&#62;lefiNonDefault::viaName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024581">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024582"> &#47;&#47; handle useviarule</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024583"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numUseViaRule(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024584"> fprintf(fout, &#34; USEVIARULE %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024585"> def&#45;&#62;lefiNonDefault::viaRuleName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024586">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024587"> &#47;&#47; handle mincuts</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024588"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numMinCuts(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024589"> fprintf(fout, &#34; MINCUTS %s %d ;\n&#34;, def&#45;&#62;lefiNonDefault::cutLayerName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024590"> def&#45;&#62;lefiNonDefault::numCuts(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024591"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024592">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024593"> &#47;&#47; handle property in nondefaultrule</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024594"> if (def&#45;&#62;lefiNonDefault::numProps() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024595"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024596"> for (i = 0; i &#60; def&#45;&#62;lefiNonDefault::numProps(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024597"> fprintf(fout, &#34;%s &#34;, def&#45;&#62;lefiNonDefault::propName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024598"> if (def&#45;&#62;lefiNonDefault::propIsNumber(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024599"> fprintf(fout, &#34;%g &#34;, def&#45;&#62;lefiNonDefault::propNumber(i)); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024600"> if (def&#45;&#62;lefiNonDefault::propIsString(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024601"> fprintf(fout, &#34;%s &#34;, def&#45;&#62;lefiNonDefault::propValue(i)); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024602"> switch(def&#45;&#62;lefiNonDefault::propType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024603"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024604"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024605"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024606"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024607"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024608"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024609"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024610"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024611"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024612"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024613"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024614"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024615"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024616"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024617"> fprintf(fout, &#34;END %s ;\n&#34;, def&#45;&#62;lefiNonDefault::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024618">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024619"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024620">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024621">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024622">int obstructionCB(lefrCallbackType_e c, lefiObstruction* obs,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024623"> lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024624"> lefiGeometries* geometry;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024625">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024626"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024627">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024628"> fprintf(fout, &#34; OBS\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024629"> geometry = obs&#45;&#62;lefiObstruction::geometries();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024630"> prtGeometry(geometry);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024631"> fprintf(fout, &#34; END\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024632"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024633">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024634">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024635">int pinCB(lefrCallbackType_e c, lefiPin* pin, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024636"> int numPorts, i, j;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024637"> lefiGeometries* geometry;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024638"> lefiPinAntennaModel* aModel;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024639"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024640"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024641">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024642"> fprintf(fout, &#34; PIN %s\n&#34;, pin&#45;&#62;lefiPin::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024643"> if (pin&#45;&#62;lefiPin::hasForeign()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024644"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numForeigns(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024645"> if (pin&#45;&#62;lefiPin::hasForeignOrient(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024646"> fprintf(fout, &#34; FOREIGN %s STRUCTURE ( %g %g ) %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024647"> pin&#45;&#62;lefiPin::foreignName(i), pin&#45;&#62;lefiPin::foreignX(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024648"> pin&#45;&#62;lefiPin::foreignY(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024649"> pin&#45;&#62;lefiPin::foreignOrientStr(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024650"> else if (pin&#45;&#62;lefiPin::hasForeignPoint(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024651"> fprintf(fout, &#34; FOREIGN %s STRUCTURE ( %g %g ) ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024652"> pin&#45;&#62;lefiPin::foreignName(i), pin&#45;&#62;lefiPin::foreignX(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024653"> pin&#45;&#62;lefiPin::foreignY(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024654"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024655"> fprintf(fout, &#34; FOREIGN %s ;\n&#34;, pin&#45;&#62;lefiPin::foreignName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024656"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024657"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024658"> if (pin&#45;&#62;lefiPin::hasLEQ())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024659"> fprintf(fout, &#34; LEQ %s ;\n&#34;, pin&#45;&#62;lefiPin::LEQ());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024660"> if (pin&#45;&#62;lefiPin::hasDirection())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024661"> fprintf(fout, &#34; DIRECTION %s ;\n&#34;, pin&#45;&#62;lefiPin::direction());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024662"> if (pin&#45;&#62;lefiPin::hasUse())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024663"> fprintf(fout, &#34; USE %s ;\n&#34;, pin&#45;&#62;lefiPin::use());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024664"> if (pin&#45;&#62;lefiPin::hasShape())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024665"> fprintf(fout, &#34; SHAPE %s ;\n&#34;, pin&#45;&#62;lefiPin::shape());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024666"> if (pin&#45;&#62;lefiPin::hasMustjoin())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024667"> fprintf(fout, &#34; MUSTJOIN %s ;\n&#34;, pin&#45;&#62;lefiPin::mustjoin());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024668"> if (pin&#45;&#62;lefiPin::hasOutMargin())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024669"> fprintf(fout, &#34; OUTPUTNOISEMARGIN %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024670"> pin&#45;&#62;lefiPin::outMarginHigh(), pin&#45;&#62;lefiPin::outMarginLow());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024671"> if (pin&#45;&#62;lefiPin::hasOutResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024672"> fprintf(fout, &#34; OUTPUTRESISTANCE %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024673"> pin&#45;&#62;lefiPin::outResistanceHigh(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024674"> pin&#45;&#62;lefiPin::outResistanceLow());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024675"> if (pin&#45;&#62;lefiPin::hasInMargin())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024676"> fprintf(fout, &#34; INPUTNOISEMARGIN %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024677"> pin&#45;&#62;lefiPin::inMarginHigh(), pin&#45;&#62;lefiPin::inMarginLow());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024678"> if (pin&#45;&#62;lefiPin::hasPower())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024679"> fprintf(fout, &#34; POWER %g ;\n&#34;, pin&#45;&#62;lefiPin::power());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024680"> if (pin&#45;&#62;lefiPin::hasLeakage())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024681"> fprintf(fout, &#34; LEAKAGE %g ;\n&#34;, pin&#45;&#62;lefiPin::leakage());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024682"> if (pin&#45;&#62;lefiPin::hasMaxload())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024683"> fprintf(fout, &#34; MAXLOAD %g ;\n&#34;, pin&#45;&#62;lefiPin::maxload());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024684"> if (pin&#45;&#62;lefiPin::hasCapacitance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024685"> fprintf(fout, &#34; CAPACITANCE %g ;\n&#34;, pin&#45;&#62;lefiPin::capacitance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024686"> if (pin&#45;&#62;lefiPin::hasResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024687"> fprintf(fout, &#34; RESISTANCE %g ;\n&#34;, pin&#45;&#62;lefiPin::resistance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024688"> if (pin&#45;&#62;lefiPin::hasPulldownres())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024689"> fprintf(fout, &#34; PULLDOWNRES %g ;\n&#34;, pin&#45;&#62;lefiPin::pulldownres());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024690"> if (pin&#45;&#62;lefiPin::hasTieoffr())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024691"> fprintf(fout, &#34; TIEOFFR %g ;\n&#34;, pin&#45;&#62;lefiPin::tieoffr());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024692"> if (pin&#45;&#62;lefiPin::hasVHI())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024693"> fprintf(fout, &#34; VHI %g ;\n&#34;, pin&#45;&#62;lefiPin::VHI());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024694"> if (pin&#45;&#62;lefiPin::hasVLO())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024695"> fprintf(fout, &#34; VLO %g ;\n&#34;, pin&#45;&#62;lefiPin::VLO());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024696"> if (pin&#45;&#62;lefiPin::hasRiseVoltage())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024697"> fprintf(fout, &#34; RISEVOLTAGETHRESHOLD %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024698"> pin&#45;&#62;lefiPin::riseVoltage());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024699"> if (pin&#45;&#62;lefiPin::hasFallVoltage())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024700"> fprintf(fout, &#34; FALLVOLTAGETHRESHOLD %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024701"> pin&#45;&#62;lefiPin::fallVoltage());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024702"> if (pin&#45;&#62;lefiPin::hasRiseThresh())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024703"> fprintf(fout, &#34; RISETHRESH %g ;\n&#34;, pin&#45;&#62;lefiPin::riseThresh());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024704"> if (pin&#45;&#62;lefiPin::hasFallThresh())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024705"> fprintf(fout, &#34; FALLTHRESH %g ;\n&#34;, pin&#45;&#62;lefiPin::fallThresh());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024706"> if (pin&#45;&#62;lefiPin::hasRiseSatcur())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024707"> fprintf(fout, &#34; RISESATCUR %g ;\n&#34;, pin&#45;&#62;lefiPin::riseSatcur());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024708"> if (pin&#45;&#62;lefiPin::hasFallSatcur())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024709"> fprintf(fout, &#34; FALLSATCUR %g ;\n&#34;, pin&#45;&#62;lefiPin::fallSatcur());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024710"> if (pin&#45;&#62;lefiPin::hasRiseSlewLimit())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024711"> fprintf(fout, &#34; RISESLEWLIMIT %g ;\n&#34;, pin&#45;&#62;lefiPin::riseSlewLimit());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024712"> if (pin&#45;&#62;lefiPin::hasFallSlewLimit())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024713"> fprintf(fout, &#34; FALLSLEWLIMIT %g ;\n&#34;, pin&#45;&#62;lefiPin::fallSlewLimit());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024714"> if (pin&#45;&#62;lefiPin::hasCurrentSource())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024715"> fprintf(fout, &#34; CURRENTSOURCE %s ;\n&#34;, pin&#45;&#62;lefiPin::currentSource());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024716"> if (pin&#45;&#62;lefiPin::hasTables())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024717"> fprintf(fout, &#34; IV_TABLES %s %s ;\n&#34;, pin&#45;&#62;lefiPin::tableHighName(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024718"> pin&#45;&#62;lefiPin::tableLowName());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024719"> if (pin&#45;&#62;lefiPin::hasTaperRule())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024720"> fprintf(fout, &#34; TAPERRULE %s ;\n&#34;, pin&#45;&#62;lefiPin::taperRule());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024721"> if (pin&#45;&#62;lefiPin::hasNetExpr())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024722"> fprintf(fout, &#34; NETEXPR \&#34;%s\&#34; ;\n&#34;, pin&#45;&#62;lefiPin::netExpr());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024723"> if (pin&#45;&#62;lefiPin::hasSupplySensitivity())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024724"> fprintf(fout, &#34; SUPPLYSENSITIVITY %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024725"> pin&#45;&#62;lefiPin::supplySensitivity());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024726"> if (pin&#45;&#62;lefiPin::hasGroundSensitivity())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024727"> fprintf(fout, &#34; GROUNDSENSITIVITY %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024728"> pin&#45;&#62;lefiPin::groundSensitivity());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024729"> if (pin&#45;&#62;lefiPin::hasAntennaSize()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024730"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaSize(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024731"> fprintf(fout, &#34; ANTENNASIZE %g &#34;, pin&#45;&#62;lefiPin::antennaSize(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024732"> if (pin&#45;&#62;lefiPin::antennaSizeLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024733"> fprintf(fout, &#34;LAYER %s &#34;, pin&#45;&#62;lefiPin::antennaSizeLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024734"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024735"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024736"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024737"> if (pin&#45;&#62;lefiPin::hasAntennaMetalArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024738"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaMetalArea(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024739"> fprintf(fout, &#34; ANTENNAMETALAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024740"> pin&#45;&#62;lefiPin::antennaMetalArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024741"> if (pin&#45;&#62;lefiPin::antennaMetalAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024742"> fprintf(fout, &#34;LAYER %s &#34;, pin&#45;&#62;lefiPin::antennaMetalAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024743"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024744"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024745"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024746"> if (pin&#45;&#62;lefiPin::hasAntennaMetalLength()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024747"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaMetalLength(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024748"> fprintf(fout, &#34; ANTENNAMETALLENGTH %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024749"> pin&#45;&#62;lefiPin::antennaMetalLength(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024750"> if (pin&#45;&#62;lefiPin::antennaMetalLengthLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024751"> fprintf(fout, &#34;LAYER %s &#34;, pin&#45;&#62;lefiPin::antennaMetalLengthLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024752"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024753"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024754"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024755">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024756"> if (pin&#45;&#62;lefiPin::hasAntennaPartialMetalArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024757"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaPartialMetalArea(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024758"> fprintf(fout, &#34; ANTENNAPARTIALMETALAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024759"> pin&#45;&#62;lefiPin::antennaPartialMetalArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024760"> if (pin&#45;&#62;lefiPin::antennaPartialMetalAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024761"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024762"> pin&#45;&#62;lefiPin::antennaPartialMetalAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024763"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024764"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024765"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024766">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024767"> if (pin&#45;&#62;lefiPin::hasAntennaPartialMetalSideArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024768"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaPartialMetalSideArea(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024769"> fprintf(fout, &#34; ANTENNAPARTIALMETALSIDEAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024770"> pin&#45;&#62;lefiPin::antennaPartialMetalSideArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024771"> if (pin&#45;&#62;lefiPin::antennaPartialMetalSideAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024772"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024773"> pin&#45;&#62;lefiPin::antennaPartialMetalSideAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024774"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024775"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024776"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024777">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024778"> if (pin&#45;&#62;lefiPin::hasAntennaPartialCutArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024779"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaPartialCutArea(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024780"> fprintf(fout, &#34; ANTENNAPARTIALCUTAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024781"> pin&#45;&#62;lefiPin::antennaPartialCutArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024782"> if (pin&#45;&#62;lefiPin::antennaPartialCutAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024783"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024784"> pin&#45;&#62;lefiPin::antennaPartialCutAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024785"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024786"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024787"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024788">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024789"> if (pin&#45;&#62;lefiPin::hasAntennaDiffArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024790"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numAntennaDiffArea(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024791"> fprintf(fout, &#34; ANTENNADIFFAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024792"> pin&#45;&#62;lefiPin::antennaDiffArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024793"> if (pin&#45;&#62;lefiPin::antennaDiffAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024794"> fprintf(fout, &#34;LAYER %s &#34;, pin&#45;&#62;lefiPin::antennaDiffAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024795"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024796"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024797"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024798">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024799"> for (j = 0; j &#60; pin&#45;&#62;lefiPin::numAntennaModel(); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024800"> aModel = pin&#45;&#62;lefiPin::antennaModel(j); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024801"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024802"> fprintf(fout, &#34; ANTENNAMODEL %s ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024803"> aModel&#45;&#62;lefiPinAntennaModel::antennaOxide());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024804">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024805"> if (aModel&#45;&#62;lefiPinAntennaModel::hasAntennaGateArea()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024806"> for (i = 0; i &#60; aModel&#45;&#62;lefiPinAntennaModel::numAntennaGateArea(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024807"> {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024808"> fprintf(fout, &#34; ANTENNAGATEAREA %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024809"> aModel&#45;&#62;lefiPinAntennaModel::antennaGateArea(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024810"> if (aModel&#45;&#62;lefiPinAntennaModel::antennaGateAreaLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024811"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024812"> aModel&#45;&#62;lefiPinAntennaModel::antennaGateAreaLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024813"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024814"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024815"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024816">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024817"> if (aModel&#45;&#62;lefiPinAntennaModel::hasAntennaMaxAreaCar()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024818"> for (i = 0; i &#60; aModel&#45;&#62;lefiPinAntennaModel::numAntennaMaxAreaCar();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024819"> i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024820"> fprintf(fout, &#34; ANTENNAMAXAREACAR %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024821"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxAreaCar(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024822"> if (aModel&#45;&#62;lefiPinAntennaModel::antennaMaxAreaCarLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024823"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024824"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxAreaCarLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024825"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024826"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024827"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024828">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024829"> if (aModel&#45;&#62;lefiPinAntennaModel::hasAntennaMaxSideAreaCar()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024830"> for (i = 0; i &#60; aModel&#45;&#62;lefiPinAntennaModel::numAntennaMaxSideAreaCar();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024831"> i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024832"> fprintf(fout, &#34; ANTENNAMAXSIDEAREACAR %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024833"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxSideAreaCar(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024834"> if (aModel&#45;&#62;lefiPinAntennaModel::antennaMaxSideAreaCarLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024835"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024836"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxSideAreaCarLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024837"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024838"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024839"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024840">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024841"> if (aModel&#45;&#62;lefiPinAntennaModel::hasAntennaMaxCutCar()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024842"> for (i = 0; i &#60; aModel&#45;&#62;lefiPinAntennaModel::numAntennaMaxCutCar(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024843"> {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024844"> fprintf(fout, &#34; ANTENNAMAXCUTCAR %g &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024845"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxCutCar(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024846"> if (aModel&#45;&#62;lefiPinAntennaModel::antennaMaxCutCarLayer(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024847"> fprintf(fout, &#34;LAYER %s &#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024848"> aModel&#45;&#62;lefiPinAntennaModel::antennaMaxCutCarLayer(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024849"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024850"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024851"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024852"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024853">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024854"> if (pin&#45;&#62;lefiPin::numProperties() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024855"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024856"> for (i = 0; i &#60; pin&#45;&#62;lefiPin::numProperties(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024857"> &#47;&#47; value can either be a string or number</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024858"> if (pin&#45;&#62;lefiPin::propValue(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024859"> fprintf(fout, &#34;%s %s &#34;, pin&#45;&#62;lefiPin::propName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024860"> pin&#45;&#62;lefiPin::propValue(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024861"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024862"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024863"> fprintf(fout, &#34;%s %g &#34;, pin&#45;&#62;lefiPin::propName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024864"> pin&#45;&#62;lefiPin::propNum(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024865"> switch (pin&#45;&#62;lefiPin::propType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024866"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024867"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024868"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024869"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024870"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024871"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024872"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024873"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024874"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024875"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024876"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024877"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024878"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024879"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024880"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024881"> numPorts = pin&#45;&#62;lefiPin::numPorts();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024882"> for (i = 0; i &#60; numPorts; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024883"> fprintf(fout,&#34; PORT\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024884"> geometry = pin&#45;&#62;lefiPin::port(i);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024885"> prtGeometry(geometry);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024886"> fprintf(fout, &#34; END\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024887"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024888"> fprintf(fout, &#34; END %s\n&#34;, pin&#45;&#62;lefiPin::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024889"> return 0; </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024890">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024891">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024892">int densityCB(lefrCallbackType_e c, lefiDensity* density,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024893"> lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024894">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024895"> struct lefiGeomRect rect;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024896">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024897"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024898">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024899"> fprintf(fout, &#34; DENSITY\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024900"> for (int i = 0; i &#60; density&#45;&#62;lefiDensity::numLayer(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024901"> fprintf(fout, &#34; LAYER %s ;\n&#34;, density&#45;&#62;lefiDensity::layerName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024902"> for (int j = 0; j &#60; density&#45;&#62;lefiDensity::numRects(i); j++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024903"> rect = density&#45;&#62;lefiDensity::getRect(i,j);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024904"> fprintf(fout, &#34; RECT %g %g %g %g &#34;, rect.xl, rect.yl, rect.xh,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024905"> rect.yh);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024906"> fprintf(fout, &#34;%g ;\n&#34;, density&#45;&#62;lefiDensity::densityValue(i,j));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024907"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024908"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024909"> fprintf(fout, &#34; END\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024910"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024911">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024912">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024913">int propDefBeginCB(lefrCallbackType_e c, void* ptr, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024914">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024915"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024916">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024917"> fprintf(fout, &#34;PROPERTYDEFINITIONS\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024918"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024919">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024920">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024921">int propDefCB(lefrCallbackType_e c, lefiProp* prop, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024922">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024923"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024924">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024925"> fprintf(fout, &#34; %s %s&#34;, prop&#45;&#62;lefiProp::propType(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024926"> prop&#45;&#62;lefiProp::propName());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024927"> switch(prop&#45;&#62;lefiProp::dataType()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024928"> case &#39;I&#39;:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024929"> fprintf(fout, &#34; INTEGER&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024930"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024931"> case &#39;R&#39;:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024932"> fprintf(fout, &#34; REAL&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024933"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024934"> case &#39;S&#39;:</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024935"> fprintf(fout, &#34; STRING&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024936"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024937"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024938"> if (prop&#45;&#62;lefiProp::hasNumber())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024939"> fprintf(fout, &#34; %g&#34;, prop&#45;&#62;lefiProp::number());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024940"> if (prop&#45;&#62;lefiProp::hasRange())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024941"> fprintf(fout, &#34; RANGE %g %g&#34;, prop&#45;&#62;lefiProp::left(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024942"> prop&#45;&#62;lefiProp::right());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024943"> if (prop&#45;&#62;lefiProp::hasString())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024944"> fprintf(fout, &#34; %s&#34;, prop&#45;&#62;lefiProp::string());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024945"> fprintf(fout, &#34;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024946"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024947">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024948">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024949">int propDefEndCB(lefrCallbackType_e c, void* ptr, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024950">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024951"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024952">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024953"> fprintf(fout, &#34;END PROPERTYDEFINITIONS\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024954"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024955">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024956">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024957">int siteCB(lefrCallbackType_e c, lefiSite* site, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024958"> int hasPrtSym = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024959"> int i;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024960">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024961"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024962">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024963"> fprintf(fout, &#34;SITE %s\n&#34;, site&#45;&#62;lefiSite::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024964"> if (site&#45;&#62;lefiSite::hasClass())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024965"> fprintf(fout, &#34; CLASS %s ;\n&#34;, site&#45;&#62;lefiSite::siteClass());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024966"> if (site&#45;&#62;lefiSite::hasXSymmetry()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024967"> fprintf(fout, &#34; SYMMETRY X &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024968"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024969"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024970"> if (site&#45;&#62;lefiSite::hasYSymmetry()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024971"> if (hasPrtSym)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024972"> fprintf(fout, &#34;Y &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024973"> else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024974"> fprintf(fout, &#34; SYMMETRY Y &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024975"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024976"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024977"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024978"> if (site&#45;&#62;lefiSite::has90Symmetry()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024979"> if (hasPrtSym)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024980"> fprintf(fout, &#34;R90 &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024981"> else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024982"> fprintf(fout, &#34; SYMMETRY R90 &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024983"> hasPrtSym = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024984"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024985"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024986"> if (hasPrtSym)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024987"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024988"> if (site&#45;&#62;lefiSite::hasSize())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024989"> fprintf(fout, &#34; SIZE %g BY %g ;\n&#34;, site&#45;&#62;lefiSite::sizeX(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024990"> site&#45;&#62;lefiSite::sizeY());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024991">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024992"> if (site&#45;&#62;hasRowPattern()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024993"> fprintf(fout, &#34; ROWPATTERN &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024994"> for (i = 0; i &#60; site&#45;&#62;lefiSite::numSites(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024995"> fprintf(fout, &#34; %s %s &#34;, site&#45;&#62;lefiSite::siteName(i),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024996"> site&#45;&#62;lefiSite::siteOrientStr(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024997"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024998"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1024999">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025000"> fprintf(fout, &#34;END %s\n&#34;, site&#45;&#62;lefiSite::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025001"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025002">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025003">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025004">int spacingBeginCB(lefrCallbackType_e c, void* ptr, lefiUserData ud){</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025005"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025006">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025007"> fprintf(fout, &#34;SPACING\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025008"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025009">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025010">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025011">int spacingCB(lefrCallbackType_e c, lefiSpacing* spacing, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025012"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025013">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025014"> lefSpacing(spacing);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025015"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025016">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025017">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025018">int spacingEndCB(lefrCallbackType_e c, void* ptr, lefiUserData ud){</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025019"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025020">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025021"> fprintf(fout, &#34;END SPACING\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025022"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025023">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025024">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025025">int timingCB(lefrCallbackType_e c, lefiTiming* timing, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025026"> int i;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025027"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025028">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025029"> fprintf(fout, &#34;TIMING\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025030"> for (i = 0; i &#60; timing&#45;&#62;numFromPins(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025031"> fprintf(fout, &#34; FROMPIN %s ;\n&#34;, timing&#45;&#62;fromPin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025032"> for (i = 0; i &#60; timing&#45;&#62;numToPins(); i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025033"> fprintf(fout, &#34; TOPIN %s ;\n&#34;, timing&#45;&#62;toPin(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025034"> fprintf(fout, &#34; RISE SLEW1 %g %g %g %g ;\n&#34;, timing&#45;&#62;riseSlewOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025035"> timing&#45;&#62;riseSlewTwo(), timing&#45;&#62;riseSlewThree(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025036"> timing&#45;&#62;riseSlewFour());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025037"> if (timing&#45;&#62;hasRiseSlew2())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025038"> fprintf(fout, &#34; RISE SLEW2 %g %g %g ;\n&#34;, timing&#45;&#62;riseSlewFive(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025039"> timing&#45;&#62;riseSlewSix(), timing&#45;&#62;riseSlewSeven());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025040"> if (timing&#45;&#62;hasFallSlew())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025041"> fprintf(fout, &#34; FALL SLEW1 %g %g %g %g ;\n&#34;, timing&#45;&#62;fallSlewOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025042"> timing&#45;&#62;fallSlewTwo(), timing&#45;&#62;fallSlewThree(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025043"> timing&#45;&#62;fallSlewFour());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025044"> if (timing&#45;&#62;hasFallSlew2())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025045"> fprintf(fout, &#34; FALL SLEW2 %g %g %g ;\n&#34;, timing&#45;&#62;fallSlewFive(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025046"> timing&#45;&#62;fallSlewSix(), timing&#45;&#62;riseSlewSeven());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025047"> if (timing&#45;&#62;hasRiseIntrinsic()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025048"> fprintf(fout, &#34;TIMING RISE INTRINSIC %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025049"> timing&#45;&#62;riseIntrinsicOne(), timing&#45;&#62;riseIntrinsicTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025050"> fprintf(fout, &#34;TIMING RISE VARIABLE %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025051"> timing&#45;&#62;riseIntrinsicThree(), timing&#45;&#62;riseIntrinsicFour());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025052"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025053"> if (timing&#45;&#62;hasFallIntrinsic()) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025054"> fprintf(fout, &#34;TIMING FALL INTRINSIC %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025055"> timing&#45;&#62;fallIntrinsicOne(), timing&#45;&#62;fallIntrinsicTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025056"> fprintf(fout, &#34;TIMING RISE VARIABLE %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025057"> timing&#45;&#62;fallIntrinsicThree(), timing&#45;&#62;fallIntrinsicFour());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025058"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025059"> if (timing&#45;&#62;hasRiseRS())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025060"> fprintf(fout, &#34;TIMING RISERS %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025061"> timing&#45;&#62;riseRSOne(), timing&#45;&#62;riseRSTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025062"> if (timing&#45;&#62;hasRiseCS())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025063"> fprintf(fout, &#34;TIMING RISECS %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025064"> timing&#45;&#62;riseCSOne(), timing&#45;&#62;riseCSTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025065"> if (timing&#45;&#62;hasFallRS())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025066"> fprintf(fout, &#34;TIMING FALLRS %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025067"> timing&#45;&#62;fallRSOne(), timing&#45;&#62;fallRSTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025068"> if (timing&#45;&#62;hasFallCS())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025069"> fprintf(fout, &#34;TIMING FALLCS %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025070"> timing&#45;&#62;fallCSOne(), timing&#45;&#62;fallCSTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025071"> if (timing&#45;&#62;hasUnateness())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025072"> fprintf(fout, &#34;TIMING UNATENESS %s ;\n&#34;, timing&#45;&#62;unateness());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025073"> if (timing&#45;&#62;hasRiseAtt1())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025074"> fprintf(fout, &#34;TIMING RISESATT1 %g %g ;\n&#34;, timing&#45;&#62;riseAtt1One(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025075"> timing&#45;&#62;riseAtt1Two());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025076"> if (timing&#45;&#62;hasFallAtt1())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025077"> fprintf(fout, &#34;TIMING FALLSATT1 %g %g ;\n&#34;, timing&#45;&#62;fallAtt1One(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025078"> timing&#45;&#62;fallAtt1Two());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025079"> if (timing&#45;&#62;hasRiseTo())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025080"> fprintf(fout, &#34;TIMING RISET0 %g %g ;\n&#34;, timing&#45;&#62;riseToOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025081"> timing&#45;&#62;riseToTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025082"> if (timing&#45;&#62;hasFallTo())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025083"> fprintf(fout, &#34;TIMING FALLT0 %g %g ;\n&#34;, timing&#45;&#62;fallToOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025084"> timing&#45;&#62;fallToTwo());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025085"> if (timing&#45;&#62;hasSDFonePinTrigger())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025086"> fprintf(fout, &#34; %s TABLEDIMENSION %g %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025087"> timing&#45;&#62;SDFonePinTriggerType(), timing&#45;&#62;SDFtriggerOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025088"> timing&#45;&#62;SDFtriggerTwo(), timing&#45;&#62;SDFtriggerThree());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025089"> if (timing&#45;&#62;hasSDFtwoPinTrigger())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025090"> fprintf(fout, &#34; %s %s %s TABLEDIMENSION %g %g %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025091"> timing&#45;&#62;SDFtwoPinTriggerType(), timing&#45;&#62;SDFfromTrigger(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025092"> timing&#45;&#62;SDFtoTrigger(), timing&#45;&#62;SDFtriggerOne(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025093"> timing&#45;&#62;SDFtriggerTwo(), timing&#45;&#62;SDFtriggerThree());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025094"> fprintf(fout, &#34;END TIMING\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025095"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025096">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025097">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025098">int unitsCB(lefrCallbackType_e c, lefiUnits* unit, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025099"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025100">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025101"> fprintf(fout, &#34;UNITS\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025102"> if (unit&#45;&#62;lefiUnits::hasDatabase())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025103"> fprintf(fout, &#34; DATABASE %s %g ;\n&#34;, unit&#45;&#62;lefiUnits::databaseName(),</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025104"> unit&#45;&#62;lefiUnits::databaseNumber());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025105"> if (unit&#45;&#62;lefiUnits::hasCapacitance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025106"> fprintf(fout, &#34; CAPACITANCE PICOFARADS %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025107"> unit&#45;&#62;lefiUnits::capacitance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025108"> if (unit&#45;&#62;lefiUnits::hasResistance())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025109"> fprintf(fout, &#34; RESISTANCE OHMS %g ;\n&#34;, unit&#45;&#62;lefiUnits::resistance());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025110"> if (unit&#45;&#62;lefiUnits::hasPower())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025111"> fprintf(fout, &#34; POWER MILLIWATTS %g ;\n&#34;, unit&#45;&#62;lefiUnits::power());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025112"> if (unit&#45;&#62;lefiUnits::hasCurrent())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025113"> fprintf(fout, &#34; CURRENT MILLIAMPS %g ;\n&#34;, unit&#45;&#62;lefiUnits::current());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025114"> if (unit&#45;&#62;lefiUnits::hasVoltage())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025115"> fprintf(fout, &#34; VOLTAGE VOLTS %g ;\n&#34;, unit&#45;&#62;lefiUnits::voltage());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025116"> if (unit&#45;&#62;lefiUnits::hasFrequency())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025117"> fprintf(fout, &#34; FREQUENCY MEGAHERTZ %g ;\n&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025118"> unit&#45;&#62;lefiUnits::frequency());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025119"> fprintf(fout, &#34;END UNITS\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025120"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025121">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025122">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025123">int useMinSpacingCB(lefrCallbackType_e c, lefiUseMinSpacing* spacing,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025124"> lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025125"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025126">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025127"> fprintf(fout, &#34;USEMINSPACING %s &#34;, spacing&#45;&#62;lefiUseMinSpacing::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025128"> if (spacing&#45;&#62;lefiUseMinSpacing::value())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025129"> fprintf(fout, &#34;ON ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025130"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025131"> fprintf(fout, &#34;OFF ;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025132"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025133">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025134">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025135">int versionCB(lefrCallbackType_e c, double num, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025136"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025137">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025138"> fprintf(fout, &#34;VERSION %g ;\n&#34;, num);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025139"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025140">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025141">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025142">int versionStrCB(lefrCallbackType_e c, const char* versionName, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025143"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025144">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025145"> fprintf(fout, &#34;VERSION %s ;\n&#34;, versionName);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025146"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025147">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025148">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025149">int viaCB(lefrCallbackType_e c, lefiVia* via, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025150"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025151">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025152"> lefVia(via);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025153"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025154">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025155">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025156">int viaRuleCB(lefrCallbackType_e c, lefiViaRule* viaRule, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025157"> int numLayers, numVias, i;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025158"> lefiViaRuleLayer* vLayer;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025159">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025160"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025161">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025162"> fprintf(fout, &#34;VIARULE %s&#34;, viaRule&#45;&#62;lefiViaRule::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025163"> if (viaRule&#45;&#62;lefiViaRule::hasGenerate())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025164"> fprintf(fout, &#34; GENERATE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025165"> if (viaRule&#45;&#62;lefiViaRule::hasDefault())</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025166"> fprintf(fout, &#34; DEFAULT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025167"> fprintf(fout, &#34;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025168">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025169"> numLayers = viaRule&#45;&#62;lefiViaRule::numLayers();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025170"> for (i = 0; i &#60; numLayers; i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025171"> vLayer = viaRule&#45;&#62;lefiViaRule::layer(i); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025172"> lefViaRuleLayer(vLayer);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025173"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025174">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025175"> if (numLayers == 2 &amp;&amp; !(viaRule&#45;&#62;lefiViaRule::hasGenerate())) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025176"> numVias = viaRule&#45;&#62;lefiViaRule::numVias();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025177"> if (numVias == 0)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025178"> fprintf(fout, &#34;Should have via names in VIARULE.\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025179"> else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025180"> for (i = 0; i &#60; numVias; i++)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025181"> fprintf(fout, &#34; VIA %s ;\n&#34;, viaRule&#45;&#62;lefiViaRule::viaName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025182"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025183"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025184"> if (viaRule&#45;&#62;lefiViaRule::numProps() &#62; 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025185"> fprintf(fout, &#34; PROPERTY &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025186"> for (i = 0; i &#60; viaRule&#45;&#62;lefiViaRule::numProps(); i++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025187"> fprintf(fout, &#34;%s &#34;, viaRule&#45;&#62;lefiViaRule::propName(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025188"> if (viaRule&#45;&#62;lefiViaRule::propValue(i))</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025189"> fprintf(fout, &#34;%s &#34;, viaRule&#45;&#62;lefiViaRule::propValue(i));</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025190"> switch (viaRule&#45;&#62;lefiViaRule::propType(i)) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025191"> case &#39;R&#39;: fprintf(fout, &#34;REAL &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025192"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025193"> case &#39;I&#39;: fprintf(fout, &#34;INTEGER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025194"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025195"> case &#39;S&#39;: fprintf(fout, &#34;STRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025196"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025197"> case &#39;Q&#39;: fprintf(fout, &#34;QUOTESTRING &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025198"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025199"> case &#39;N&#39;: fprintf(fout, &#34;NUMBER &#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025200"> break;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025201"> } </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025202"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025203"> fprintf(fout, &#34;;\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025204"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025205"> fprintf(fout, &#34;END %s\n&#34;, viaRule&#45;&#62;lefiViaRule::name());</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025206"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025207">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025208">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025209">int extensionCB(lefrCallbackType_e c, const char* extsn, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025210"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025211"> fprintf(fout, &#34;BEGINEXT %s ;\n&#34;, extsn);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025212"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025213">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025214">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025215">int doneCB(lefrCallbackType_e c, void* ptr, lefiUserData ud) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025216"> checkType(c);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025217">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025218"> fprintf(fout, &#34;END LIBRARY\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025219"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025220">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025221"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025222">void errorCB(const char* msg) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025223"> printf (&#34;%s : %s\n&#34;, lefrGetUserData(), msg);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025224">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025225">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025226">void warningCB(const char* msg) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025227"> printf (&#34;%s : %s\n&#34;, lefrGetUserData(), msg);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025228">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025229">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025230">void* mallocCB(int size) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025231"> return malloc(size);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025232">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025233">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025234">void* reallocCB(void* name, int size) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025235"> return realloc(name, size);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025236">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025237">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025238">void freeCB(void* name) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025239"> free(name);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025240"> return;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025241">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025242">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025243">void lineNumberCB(int lineNo) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025244"> fprintf(fout, &#34;Parsed %d number of lines!!\n&#34;, lineNo);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025245"> return;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025246">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025247">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025248">int</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025249">main(int argc, char** argv) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025250"> char* inFile[100];</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025251"> char* outFile;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025252"> FILE* f;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025253"> int res;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025254"> int noCalls = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025255"> int num;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025256"> int status;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025257"> int retStr = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025258"> int numInFile = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025259"> int fileCt = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025260"> int relax = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025261"> char* version;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025262"> int setVer = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025263"> char* userData;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025264"> int msgCb = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025265">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025266"> userData = strdup (&#34;(lefrw&#45;5100)&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025267"> strcpy(defaultName,&#34;lef.in&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025268"> strcpy(defaultOut,&#34;list&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025269"> inFile[0] = defaultName;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025270"> outFile = defaultOut;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025271"> fout = stdout;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025272">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025273"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025274"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025275"> while (argc&#45;&#45;) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025276">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025277"> if (strcmp(*argv, &#34;&#45;d&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025278"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025279"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025280"> sscanf(*argv, &#34;%d&#34;, &amp;num);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025281"> lefiSetDebug(num, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025282">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025283"> } else if (strcmp(*argv, &#34;&#45;nc&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025284"> noCalls = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025285">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025286"> } else if (strcmp(*argv, &#34;&#45;p&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025287"> printing = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025288">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025289"> } else if (strcmp(*argv, &#34;&#45;m&#34;) == 0) { &#47;&#47; use the user error&#47;warning CB</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025290"> msgCb = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025291">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025292"> } else if (strcmp(*argv, &#34;&#45;o&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025293"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025294"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025295"> outFile = *argv;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025296"> if ((fout = fopen(outFile, &#34;w&#34;)) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025297">&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stderr, &#34;ERROR: could not open output file\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025298">&nbsp;&nbsp;&nbsp;&nbsp;return 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025299"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025300">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025301"> } else if (strcmp(*argv, &#34;&#45;verStr&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025302"> &#47;* New to set the version callback routine to return a string *&#47;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025303"> &#47;* instead of double. *&#47;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025304"> retStr = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025305">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025306"> } else if (strcmp(*argv, &#34;&#45;relax&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025307"> relax = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025308">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025309"> } else if (strcmp(*argv, &#34;&#45;65nm&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025310"> parse65nm = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025311">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025312"> } else if (strcmp(*argv, &#34;&#45;ver&#34;) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025313"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025314"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025315"> setVer = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025316"> version = *argv;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025317">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025318"> } else if (argv[0][0] != &#39;&#45;&#39;) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025319"> if (numInFile &#62;= 100) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025320"> fprintf(stderr, &#34;ERROR: too many input files, max = 3.\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025321"> return 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025322"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025323"> inFile[numInFile++] = *argv;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025324">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025325"> } else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025326"> fprintf(stderr, &#34;ERROR: Illegal command line option: &#39;%s&#39;\n&#34;, *argv);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025327"> return 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025328"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025329">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025330"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025331"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025332">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025333"> if (noCalls == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025334"> lefrSetAntennaInputCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025335"> lefrSetAntennaInoutCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025336"> lefrSetAntennaOutputCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025337"> lefrSetArrayBeginCbk(arrayBeginCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025338"> lefrSetArrayCbk(arrayCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025339"> lefrSetArrayEndCbk(arrayEndCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025340"> lefrSetBusBitCharsCbk(busBitCharsCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025341"> lefrSetCaseSensitiveCbk(caseSensCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025342"> lefrSetClearanceMeasureCbk(clearanceCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025343"> lefrSetDensityCbk(densityCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025344"> lefrSetDividerCharCbk(dividerCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025345"> lefrSetNoWireExtensionCbk(noWireExtCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025346"> lefrSetEdgeRateThreshold1Cbk(edge1CB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025347"> lefrSetEdgeRateThreshold2Cbk(edge2CB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025348"> lefrSetEdgeRateScaleFactorCbk(edgeScaleCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025349"> lefrSetExtensionCbk(extensionCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025350"> lefrSetDielectricCbk(dielectricCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025351"> lefrSetIRDropBeginCbk(irdropBeginCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025352"> lefrSetIRDropCbk(irdropCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025353"> lefrSetIRDropEndCbk(irdropEndCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025354"> lefrSetLayerCbk(layerCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025355"> lefrSetLibraryEndCbk(doneCB); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025356"> lefrSetMacroBeginCbk(macroBeginCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025357"> lefrSetMacroCbk(macroCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025358"> lefrSetMacroClassTypeCbk(macroClassTypeCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025359"> lefrSetMacroEndCbk(macroEndCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025360"> lefrSetManufacturingCbk(manufacturingCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025361"> lefrSetMaxStackViaCbk(maxStackViaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025362"> lefrSetMinFeatureCbk(minFeatureCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025363"> lefrSetNonDefaultCbk(nonDefaultCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025364"> lefrSetObstructionCbk(obstructionCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025365"> lefrSetPinCbk(pinCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025366"> lefrSetPropBeginCbk(propDefBeginCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025367"> lefrSetPropCbk(propDefCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025368"> lefrSetPropEndCbk(propDefEndCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025369"> lefrSetSiteCbk(siteCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025370"> lefrSetSpacingBeginCbk(spacingBeginCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025371"> lefrSetSpacingCbk(spacingCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025372"> lefrSetSpacingEndCbk(spacingEndCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025373"> lefrSetTimingCbk(timingCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025374"> lefrSetUnitsCbk(unitsCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025375"> lefrSetUseMinSpacingCbk(useMinSpacingCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025376"> lefrSetUserData((void*)3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025377"> if (!retStr)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025378"> lefrSetVersionCbk(versionCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025379"> else</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025380"> lefrSetVersionStrCbk(versionStrCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025381"> lefrSetViaCbk(viaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025382"> lefrSetViaRuleCbk(viaRuleCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025383"> lefrSetInputAntennaCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025384"> lefrSetOutputAntennaCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025385"> lefrSetInoutAntennaCbk(antennaCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025386">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025387"> if (msgCb) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025388"> lefrSetLogFunction(errorCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025389"> lefrSetWarningLogFunction(warningCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025390"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025391">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025392"> lefrSetMallocFunction(mallocCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025393"> lefrSetReallocFunction(reallocCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025394"> lefrSetFreeFunction(freeCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025395">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025396"> lefrSetLineNumberFunction(lineNumberCB);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025397"> lefrSetDeltaNumberLines(50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025398"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025399"> lefrSetRegisterUnusedCallbacks();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025400">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025401"> if (relax)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025402"> lefrSetRelaxMode();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025403">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025404"> if (setVer)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025405"> (void)lefrSetVersionValue(version);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025406">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025407"> lefrSetAntennaInoutWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025408"> lefrSetAntennaInputWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025409"> lefrSetAntennaOutputWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025410"> lefrSetArrayWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025411"> lefrSetCaseSensitiveWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025412"> lefrSetCorrectionTableWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025413"> lefrSetDielectricWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025414"> lefrSetEdgeRateThreshold1Warnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025415"> lefrSetEdgeRateThreshold2Warnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025416"> lefrSetEdgeRateScaleFactorWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025417"> lefrSetInoutAntennaWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025418"> lefrSetInputAntennaWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025419"> lefrSetIRDropWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025420"> lefrSetLayerWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025421"> lefrSetMacroWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025422"> lefrSetMaxStackViaWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025423"> lefrSetMinFeatureWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025424"> lefrSetNoiseMarginWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025425"> lefrSetNoiseTableWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025426"> lefrSetNonDefaultWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025427"> lefrSetNoWireExtensionWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025428"> lefrSetOutputAntennaWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025429"> lefrSetPinWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025430"> lefrSetSiteWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025431"> lefrSetSpacingWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025432"> lefrSetTimingWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025433"> lefrSetUnitsWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025434"> lefrSetUseMinSpacingWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025435"> lefrSetViaRuleWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025436"> lefrSetViaWarnings(30);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025437"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025438">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025439"> (void) lefrSetShiftCase(); &#47;&#47; will shift name to uppercase if caseinsensitive</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025440"> &#47;&#47; is set to off or not set</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025441">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025442"> lefrInit();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025443">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025444"> for (fileCt = 0; fileCt &#60; numInFile; fileCt++) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025445"> lefrReset();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025446">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025447"> if ((f = fopen(inFile[fileCt],&#34;r&#34;)) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025448"> fprintf(stderr,&#34;Couldn&#39;t open input file &#39;%s&#39;\n&#34;, inFile[fileCt]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025449"> return(2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025450"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025451">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025452"> (void)lefrEnableReadEncrypted();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025453"> </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025454"> status = lefwInit(fout); &#47;&#47; initialize the lef writer, need to be called 1st</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025455"> if (status != LEFW_OK)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025456"> return 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025457">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025458"> res = lefrRead(f, inFile[fileCt], (void*)userData);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025459">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025460"> if (res)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025461"> fprintf(stderr, &#34;Reader returns bad status.\n&#34;, inFile[fileCt]);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025462">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025463"> (void)lefrPrintUnusedCallbacks(fout);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025464"> (void)lefrReleaseNResetMemory();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025465">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025466"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025467"> fclose(fout);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025468">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025469"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025470">}</a></font>
</p>
<p>
<font size="3" face="Sans-Serif" color="#000000"><a name="1025471">&nbsp;</a></font>
</p>
<h2><a name="1016399">LEF Writer Program</a></h2>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025613">#include &#60;stdlib.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025614">#include &#60;stdio.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025615">#include &#60;string.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025616">#ifndef WIN32</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025617"># include &#60;unistd.h&#62;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025618">#endif &#47;* not WIN32 *&#47;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025619">#include &#34;lefwWriter.hpp&#34;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025620">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025621">char defaultOut[128];</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025622">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025623">&#47;&#47; Global variables</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025624">FILE* fout;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025625">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025626">#define CHECK_STATUS(status) \</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025627"> if (status) { \</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025628"> lefwPrintError(status); \</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025629"> return(status); \</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025630"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025631">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025632">int main(int argc, char** argv) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025633"> char* outfile;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025634"> int status; &#47;&#47; return code, if none 0 means error</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025635"> int lineNum = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025636">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025637"> &#47;&#47; assign the default</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025638"> strcpy(defaultOut, &#34;lef.in&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025639"> outfile = defaultOut;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025640"> fout = stdout;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025641">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025642"> double *xpath;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025643"> double *ypath;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025644"> double *xl;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025645"> double *yl;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025646"> double *wthn, *spng;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025647">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025648"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025649"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025650"> while (argc&#45;&#45;) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025651"> if (strcmp(*argv, &#34;&#45;o&#34;) == 0) { &#47;&#47; output filename</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025652"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025653"> argc&#45;&#45;;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025654"> outfile = *argv;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025655"> if ((fout = fopen(outfile, &#34;w&#34;)) == 0) {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025656"> fprintf(stderr, &#34;ERROR: could not open output file\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025657"> return 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025658"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025659"> } else if (strncmp(*argv, &#34;&#45;h&#34;, 2) == 0) { &#47;&#47; compare with &#45;h[elp]</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025660"> fprintf(stderr, &#34;Usage: lefwrite [&#45;o &#60;filename&#62;] [&#45;help]\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025661"> return 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025662"> } else {</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025663"> fprintf(stderr, &#34;ERROR: Illegal command line option: &#39;%s&#39;\n&#34;, *argv);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025664"> return 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025665"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025666"> argv++;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025667"> }</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025668">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025669"> &#47;&#47; initalize</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025670"> status = lefwInit(fout);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025671"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025672"> status = lefwVersion(5, 7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025673"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025674"> status = lefwBusBitChars(&#34;&#60;&#62;&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025675"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025676"> status = lefwDividerChar(&#34;:&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025677"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025678"> status = lefwManufacturingGrid(3.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025679"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025680"> status = lefwUseMinSpacing(&#34;OBS&#34;, &#34;OFF&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025681"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025682"> status = lefwClearanceMeasure(&#34;EUCLIDEAN&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025683"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025684"> status = lefwNewLine();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025685"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025686">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025687"> &#47;&#47; 5.4 ANTENNA</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025688"> status = lefwAntennaInputGateArea(45);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025689"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025690"> status = lefwAntennaInOutDiffArea(65);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025691"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025692"> status = lefwAntennaOutputDiffArea(55);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025693"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025694"> status = lefwNewLine();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025695"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025696">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025697"> &#47;&#47; UNITS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025698"> status = lefwStartUnits();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025699"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025700"> status = lefwUnits(100, 10, 10000, 10000, 10000, 1000, 20000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025701"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025702"> status = lefwUnitsFrequency(10);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025703"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025704"> status = lefwEndUnits();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025705"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025706">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025707"> &#47;&#47; PROPERTYDEFINITIONS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025708"> status = lefwStartPropDef();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025709"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025710"> status = lefwStringPropDef(&#34;LIBRARY&#34;, &#34;NAME&#34;, 0, 0, &#34;Cadence96&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025711"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025712"> status = lefwIntPropDef(&#34;LIBRARY&#34;, &#34;intNum&#34;, 0, 0, 20);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025713"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025714"> status = lefwRealPropDef(&#34;LIBRARY&#34;, &#34;realNum&#34;, 0, 0, 21.22);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025715"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025716"> status = lefwStringPropDef(&#34;PIN&#34;, &#34;TYPE&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025717"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025718"> status = lefwIntPropDef(&#34;PIN&#34;, &#34;intProp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025719"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025720"> status = lefwRealPropDef(&#34;PIN&#34;, &#34;realProp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025721"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025722"> status = lefwStringPropDef(&#34;MACRO&#34;, &#34;stringProp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025723"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025724"> status = lefwIntPropDef(&#34;MACRO&#34;, &#34;integerProp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025725"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025726"> status = lefwRealPropDef(&#34;MACRO&#34;, &#34;WEIGHT&#34;, 1.0, 100.0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025727"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025728"> status = lefwStringPropDef(&#34;VIA&#34;, &#34;stringProperty&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025729"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025730"> status = lefwRealPropDef(&#34;VIA&#34;, &#34;realProp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025731"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025732"> status = lefwIntPropDef(&#34;VIA&#34;, &#34;COUNT&#34;, 1, 100, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025733"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025734"> status = lefwStringPropDef(&#34;LAYER&#34;, &#34;lsp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025735"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025736"> status = lefwIntPropDef(&#34;LAYER&#34;, &#34;lip&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025737"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025738"> status = lefwRealPropDef(&#34;LAYER&#34;, &#34;lrp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025739"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025740"> status = lefwStringPropDef(&#34;VIARULE&#34;, &#34;vrsp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025741"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025742"> status = lefwRealPropDef(&#34;VIARULE&#34;, &#34;vrip&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025743"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025744"> status = lefwIntPropDef(&#34;VIARULE&#34;, &#34;vrrp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025745"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025746"> status = lefwStringPropDef(&#34;NONDEFAULTRULE&#34;, &#34;ndrsp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025747"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025748"> status = lefwIntPropDef(&#34;NONDEFAULTRULE&#34;, &#34;ndrip&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025749"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025750"> status = lefwRealPropDef(&#34;NONDEFAULTRULE&#34;, &#34;ndrrp&#34;, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025751"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025752"> status = lefwEndPropDef();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025753"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025754">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025755"> &#47;&#47; LAYERS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025756"> double *current;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025757"> double *diffs;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025758"> double *ratios;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025759"> double *area;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025760"> double *width;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025761">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025762"> current = (double*)malloc(sizeof(double)*15);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025763"> diffs = (double*)malloc(sizeof(double)*15);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025764"> ratios = (double*)malloc(sizeof(double)*15);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025765">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025766"> status = lefwStartLayer(&#34;POLYS&#34;, &#34;MASTERSLICE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025767"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025768"> status = lefwStringProperty(&#34;lsp&#34;, &#34;top&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025769"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025770"> status = lefwIntProperty(&#34;lip&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025771"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025772"> status = lefwRealProperty(&#34;lrp&#34;, 2.3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025773"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025774"> status = lefwEndLayer(&#34;POLYS&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025775"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025776">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025777"> status = lefwStartLayer(&#34;CUT01&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025778"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025779"> status = lefwLayerDCCurrentDensity(&#34;AVERAGE&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025780"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025781"> current[0] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025782"> current[1] = 5.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025783"> current[2] = 10.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025784"> status = lefwLayerDCCutarea(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025785"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025786"> current[0] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025787"> current[1] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025788"> current[2] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025789"> status = lefwLayerDCTableEntries(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025790"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025791"> status = lefwEndLayer(&#34;CUT01&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025792"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025793">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025794"> status = lefwStartLayerRouting(&#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025795"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025796"> status = lefwLayerRouting(&#34;HORIZONTAL&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025797"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025798"> status = lefwLayerRoutingPitch(1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025799"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025800"> status = lefwLayerRoutingDiagPitch(1.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025801"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025802"> status = lefwLayerRoutingDiagWidth(1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025803"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025804"> status = lefwLayerRoutingDiagSpacing(0.05);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025805"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025806"> status = lefwLayerRoutingDiagMinEdgeLength(0.07);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025807"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025808"> status = lefwLayerRoutingArea(34.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025809"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025810"> xl = (double*)malloc(sizeof(double)*2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025811"> yl = (double*)malloc(sizeof(double)*2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025812"> xl[0] = 0.14;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025813"> yl[0] = 0.30;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025814"> xl[1] = 0.08;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025815"> yl[1] = 0.33;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025816"> status = lefwLayerRoutingMinsize(2, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025817"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025818"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025819"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025820"> status = lefwLayerRoutingWireExtension(0.75);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025821"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025822"> status = lefwLayerRoutingOffset(0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025823"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025824"> status = lefwLayerRoutingSpacing(0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025825"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025826"> status = lefwLayerRoutingSpacingRange(0.1, 9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025827"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025828"> status = lefwLayerRoutingResistance(&#34;0.103&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025829"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025830"> status = lefwLayerRoutingCapacitance(&#34;0.000156&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025831"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025832"> status = lefwLayerRoutingHeight(9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025833"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025834"> status = lefwLayerRoutingThickness(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025835"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025836"> status = lefwLayerRoutingShrinkage(0.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025837"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025838"> status = lefwLayerRoutingEdgeCap(0.00005);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025839"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025840"> status = lefwLayerRoutingCapMultiplier(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025841"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025842"> status = lefwLayerRoutingMinwidth(0.15); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025843"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025844"> status = lefwLayerRoutingAntennaArea(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025845"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025846"> status = lefwLayerAntennaCumAreaRatio(6.7); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025847"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025848"> status = lefwLayerAntennaCumRoutingPlusCut(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025849"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025850"> status = lefwLayerAntennaAreaMinusDiff(100.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025851"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025852"> status = lefwLayerAntennaGatePlusDiff(2.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025853"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025854"> status = lefwLayerAntennaCumDiffAreaRatio(1000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025855"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025856"> xl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025857"> yl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025858"> xl[0] = 0.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025859"> yl[0] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025860"> xl[1] = 0.09999;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025861"> yl[1] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025862"> xl[2] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025863"> yl[2] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025864"> xl[3] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025865"> yl[3] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025866"> xl[4] = 100;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025867"> yl[4] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025868"> status = lefwLayerAntennaAreaDiffReducePwl(5, xl, yl); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025869"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025870"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025871"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025872"> status = lefwLayerAntennaCumDiffAreaRatio(1000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025873"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025874"> status = lefwLayerRoutingAntennaLength(1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025875"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025876"> status = lefwLayerACCurrentDensity(&#34;PEAK&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025877"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025878"> current[0] = 1E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025879"> current[1] = 100E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025880"> current[2] = 400E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025881"> status = lefwLayerACFrequency(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025882"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025883"> current[0] = 0.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025884"> current[1] = 0.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025885"> current[2] = 10.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025886"> current[3] = 50.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025887"> status = lefwLayerACCutarea(4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025888"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025889"> current[0] = 0.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025890"> current[1] = 0.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025891"> current[2] = 10.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025892"> current[3] = 50.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025893"> current[4] = 100.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025894"> status = lefwLayerACWidth(5, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025895"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025896"> current[0] = 2.0E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025897"> current[1] = 1.9E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025898"> current[2] = 1.8E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025899"> current[3] = 1.7E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025900"> current[4] = 1.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025901"> current[5] = 1.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025902"> current[6] = 1.3E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025903"> current[7] = 1.2E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025904"> current[8] = 1.1E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025905"> current[9] = 1.0E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025906"> current[10] = 0.9E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025907"> current[11] = 0.8E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025908"> current[12] = 0.7E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025909"> current[13] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025910"> current[14] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025911"> status = lefwLayerACTableEntries(15, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025912"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025913"> status = lefwLayerACCurrentDensity(&#34;AVERAGE&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025914"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025915"> current[0] = 1E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025916"> current[1] = 100E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025917"> current[2] = 400E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025918"> status = lefwLayerACFrequency(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025919"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025920"> current[0] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025921"> current[1] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025922"> current[2] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025923"> status = lefwLayerACTableEntries(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025924"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025925"> status = lefwLayerACCurrentDensity(&#34;RMS&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025926"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025927"> current[0] = 1E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025928"> current[1] = 400E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025929"> current[2] = 800E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025930"> status = lefwLayerACFrequency(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025931"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025932"> current[0] = 0.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025933"> current[1] = 0.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025934"> current[2] = 10.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025935"> current[3] = 50.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025936"> current[4] = 100.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025937"> status = lefwLayerACWidth(5, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025938"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025939"> current[0] = 2.0E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025940"> current[1] = 1.9E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025941"> current[2] = 1.8E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025942"> current[3] = 1.7E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025943"> current[4] = 1.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025944"> current[5] = 1.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025945"> current[6] = 1.3E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025946"> current[7] = 1.2E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025947"> current[8] = 1.1E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025948"> current[9] = 1.0E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025949"> current[10] = 0.9E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025950"> current[11] = 0.8E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025951"> current[12] = 0.7E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025952"> current[13] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025953"> current[14] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025954"> status = lefwLayerACTableEntries(15, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025955"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025956"> status = lefwEndLayerRouting(&#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025957"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025958">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025959"> status = lefwStartLayer(&#34;CUT12&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025960"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025961"> status = lefwLayerCutSpacing(0.7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025962"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025963"> status = lefwLayerCutSpacingLayer(&#34;RX&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025964"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025965"> status = lefwLayerCutSpacingEnd();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025966"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025967"> status = lefwLayerResistancePerCut(8.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025968"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025969"> status = lefwLayerCutSpacing(0.22); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025970"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025971"> status = lefwLayerCutSpacingAdjacent(3, 0.25, 0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025972"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025973"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025974"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025975"> status = lefwLayerCutSpacing(1.5); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025976"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025977"> status = lefwLayerCutSpacingParallel(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025978"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025979"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025980"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025981"> status = lefwLayerCutSpacing(1.2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025982"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025983"> status = lefwLayerCutSpacingAdjacent(2, 1.5, 0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025984"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025985"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025986"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025987"> status = lefwLayerAntennaModel(&#34;OXIDE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025988"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025989"> status = lefwLayerAntennaAreaRatio(5.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025990"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025991"> status = lefwLayerAntennaDiffAreaRatio(6.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025992"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025993"> status = lefwLayerAntennaAreaFactor(5.4, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025994"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025995"> status = lefwLayerAntennaCumDiffAreaRatio(4.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025996"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025997"> diffs[0] = 5.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025998"> ratios[0] = 5.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1025999"> diffs[1] = 6.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026000"> ratios[1] = 6.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026001"> diffs[2] = 7.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026002"> ratios[2] = 7.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026003"> status = lefwLayerAntennaCumDiffAreaRatioPwl(3, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026004"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026005"> status = lefwLayerAntennaCumAreaRatio(6.7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026006"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026007"> status = lefwLayerAntennaModel(&#34;OXIDE2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026008"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026009"> status = lefwLayerAntennaCumAreaRatio(300);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026010"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026011"> status = lefwLayerAntennaCumRoutingPlusCut(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026012"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026013"> status = lefwLayerAntennaAreaMinusDiff(100.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026014"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026015"> status = lefwLayerAntennaGatePlusDiff(2.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026016"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026017"> status = lefwLayerAntennaDiffAreaRatio(1000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026018"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026019"> status = lefwLayerAntennaCumDiffAreaRatio(5000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026020"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026021"> xl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026022"> yl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026023"> xl[0] = 0.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026024"> yl[0] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026025"> xl[1] = 0.09999;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026026"> yl[1] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026027"> xl[2] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026028"> yl[2] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026029"> xl[3] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026030"> yl[3] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026031"> xl[4] = 100;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026032"> yl[4] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026033"> status = lefwLayerAntennaAreaDiffReducePwl(5, xl, yl); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026034"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026035"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026036"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026037"> diffs[0] = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026038"> ratios[0] = 4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026039"> diffs[1] = 2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026040"> ratios[1] = 5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026041"> status = lefwLayerAntennaCumDiffAreaRatioPwl(2, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026042"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026043"> status = lefwLayerACCurrentDensity(&#34;PEAK&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026044"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026045"> current[0] = 1E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026046"> current[1] = 100E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026047"> status = lefwLayerACFrequency(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026048"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026049"> current[0] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026050"> current[1] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026051"> status = lefwLayerACTableEntries(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026052"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026053"> status = lefwLayerACCurrentDensity(&#34;AVERAGE&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026054"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026055"> current[0] = 1E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026056"> current[1] = 100E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026057"> status = lefwLayerACFrequency(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026058"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026059"> current[0] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026060"> current[1] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026061"> status = lefwLayerACTableEntries(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026062"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026063"> status = lefwLayerACCurrentDensity(&#34;RMS&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026064"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026065"> current[0] = 100E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026066"> current[1] = 800E6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026067"> status = lefwLayerACFrequency(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026068"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026069"> current[0] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026070"> current[1] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026071"> status = lefwLayerACTableEntries(2, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026072"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026073"> status = lefwEndLayer(&#34;CUT12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026074"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026075">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026076"> status = lefwStartLayerRouting(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026077"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026078"> status = lefwLayerRouting(&#34;DIAG45&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026079"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026080"> status = lefwLayerRoutingPitch(1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026081"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026082"> status = lefwLayerRoutingWireExtension(0.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026083"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026084"> status = lefwLayerRoutingSpacing(0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026085"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026086"> status = lefwLayerRoutingSpacing(1.2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026087"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026088"> status = lefwLayerRoutingSpacingEndOfLine(1.3, 0.6); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026089"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026090"> status = lefwLayerRoutingSpacing(1.3); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026091"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026092"> status = lefwLayerRoutingSpacingEndOfLine(1.4, 0.7); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026093"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026094"> status = lefwLayerRoutingSpacingEOLParallel(1.1, 0.5, 1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026095"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026096"> status = lefwLayerRoutingSpacing(1.4); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026097"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026098"> status = lefwLayerRoutingSpacingEndOfLine(1.5, 0.8); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026099"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026100"> status = lefwLayerRoutingSpacingEOLParallel(1.2, 0.6, 0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026101"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026102"> status = lefwLayerRoutingOffsetXYDistance(0.9, 0.7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026103"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026104"> status = lefwLayerRoutingResistance(&#34;PWL ( ( 1 0.103 ) )&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026105"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026106"> status = lefwLayerRoutingCapacitance(&#34;PWL ( ( 1 0.000156 ) ( 10 0.001 ) )&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026107"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026108"> status = lefwLayerAntennaAreaRatio(5.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026109"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026110"> status = lefwLayerAntennaDiffAreaRatio(6.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026111"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026112"> diffs[0] = 4.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026113"> ratios[0] = 4.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026114"> diffs[1] = 4.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026115"> ratios[1] = 4.3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026116"> status = lefwLayerAntennaDiffAreaRatioPwl(2, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026117"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026118"> status = lefwLayerAntennaCumAreaRatio(7.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026119"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026120"> diffs[0] = 5.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026121"> ratios[0] = 5.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026122"> diffs[1] = 6.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026123"> ratios[1] = 6.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026124"> status = lefwLayerAntennaCumDiffAreaRatioPwl(2, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026125"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026126"> status = lefwLayerAntennaAreaFactor(4.5, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026127"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026128"> status = lefwLayerAntennaSideAreaRatio(6.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026129"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026130"> status = lefwLayerAntennaCumDiffSideAreaRatio(4.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026131"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026132"> diffs[0] = 8.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026133"> ratios[0] = 8.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026134"> diffs[1] = 8.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026135"> ratios[1] = 8.3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026136"> diffs[2] = 8.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026137"> ratios[2] = 8.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026138"> diffs[3] = 8.6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026139"> ratios[3] = 8.7;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026140"> status = lefwLayerAntennaCumDiffSideAreaRatioPwl(4, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026141"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026142"> status = lefwLayerAntennaCumSideAreaRatio(7.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026143"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026144"> diffs[0] = 7.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026145"> ratios[0] = 7.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026146"> diffs[1] = 7.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026147"> ratios[1] = 7.3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026148"> status = lefwLayerAntennaDiffSideAreaRatioPwl(2, diffs, ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026149"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026150"> status = lefwLayerAntennaSideAreaFactor(9.0, &#34;DIFFUSEONLY&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026151"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026152"> status = lefwLayerDCCurrentDensity(&#34;AVERAGE&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026153"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026154"> current[0] = 20.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026155"> current[1] = 50.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026156"> current[2] = 100.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026157"> status = lefwLayerDCWidth(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026158"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026159"> current[0] = 1.0E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026160"> current[1] = 0.7E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026161"> current[2] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026162"> status = lefwLayerDCTableEntries(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026163"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026164"> status = lefwEndLayerRouting(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026165"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026166">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026167"> status = lefwStartLayer(&#34;CA&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026168"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026169"> status = lefwLayerCutSpacing(0.15); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026170"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026171"> status = lefwLayerCutSpacingCenterToCenter(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026172"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026173"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026174"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026175"> status = lefwLayerEnclosure(&#34;BELOW&#34;, 0.3, 0.01, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026176"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026177"> status = lefwLayerEnclosure(&#34;ABOVE&#34;, 0.5, 0.01, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026178"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026179"> status = lefwLayerPreferEnclosure(&#34;BELOW&#34;, 0.06, 0.01, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026180"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026181"> status = lefwLayerPreferEnclosure(&#34;ABOVE&#34;, 0.08, 0.02, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026182"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026183"> status = lefwLayerEnclosure(&#34;&#34;, 0.02, 0.02, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026184"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026185"> status = lefwLayerEnclosure(NULL, 0.05, 0.05, 2.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026186"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026187"> status = lefwLayerEnclosure(&#34;BELOW&#34;, 0.07, 0.07, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026188"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026189"> status = lefwLayerEnclosure(&#34;ABOVE&#34;, 0.09, 0.09, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026190"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026191"> status = lefwLayerResistancePerCut(10.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026192"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026193"> status = lefwLayerDCCurrentDensity(&#34;AVERAGE&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026194"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026195"> current[0] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026196"> current[1] = 5.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026197"> current[2] = 10.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026198"> status = lefwLayerDCWidth(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026199"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026200"> current[0] = 0.6E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026201"> current[1] = 0.5E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026202"> current[2] = 0.4E&#45;6;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026203"> status = lefwLayerDCTableEntries(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026204"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026205"> status = lefwEndLayer(&#34;CA&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026206"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026207">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026208"> status = lefwStartLayerRouting(&#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026209"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026210"> status = lefwLayerRouting(&#34;DIAG135&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026211"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026212"> status = lefwLayerRoutingPitch(1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026213"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026214"> status = lefwLayerRoutingSpacing(0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026215"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026216"> status = lefwLayerRoutingSpacingRange(1.1, 100.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026217"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026218"> status = lefwLayerRoutingSpacingRangeUseLengthThreshold();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026219"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026220"> status = lefwLayerRoutingSpacing(0.61);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026221"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026222"> status = lefwLayerRoutingSpacingRange(1.1, 100.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026223"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026224"> status = lefwLayerRoutingSpacingRangeInfluence(2.01, 2.0, 1000.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026225"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026226"> status = lefwLayerRoutingSpacing(0.62);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026227"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026228"> status = lefwLayerRoutingSpacingRange(1.1, 100.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026229"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026230"> status = lefwLayerRoutingSpacingRangeRange(4.1, 6.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026231"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026232"> status = lefwLayerRoutingSpacing(0.63);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026233"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026234"> status = lefwLayerRoutingSpacingLengthThreshold(1.34, 4.5, 6.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026235"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026236"> status = lefwLayerRoutingWireExtension(7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026237"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026238"> status = lefwLayerRoutingResistance(&#34;0.103&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026239"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026240"> status = lefwLayerRoutingCapacitance(&#34;0.000156&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026241"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026242"> current[0] = 0.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026243"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026244"> current[2] = 3.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026245"> current[3] = 5.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026246"> status = lefwLayerRoutingStartSpacingtableParallel(4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026247"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026248"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026249"> current[1] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026250"> current[2] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026251"> current[3] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026252"> status = lefwLayerRoutingSpacingtableParallelWidth(0.00, 4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026253"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026254"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026255"> current[1] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026256"> current[2] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026257"> current[3] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026258"> status = lefwLayerRoutingSpacingtableParallelWidth(0.25, 4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026259"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026260"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026261"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026262"> current[2] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026263"> current[3] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026264"> status = lefwLayerRoutingSpacingtableParallelWidth(1.50, 4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026265"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026266"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026267"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026268"> current[2] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026269"> current[3] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026270"> status = lefwLayerRoutingSpacingtableParallelWidth(3.00, 4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026271"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026272"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026273"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026274"> current[2] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026275"> current[3] = 2.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026276"> status = lefwLayerRoutingSpacingtableParallelWidth(5.00, 4, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026277"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026278"> status = lefwLayerRoutineEndSpacingtable();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026279"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026280"> status = lefwLayerRoutingStartSpacingtableInfluence();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026281"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026282"> status = lefwLayerRoutingSpacingInfluenceWidth(1.5, 0.5, 0.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026283"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026284"> status = lefwLayerRoutingSpacingInfluenceWidth(3.0, 1.0, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026285"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026286"> status = lefwLayerRoutingSpacingInfluenceWidth(5.0, 2.0, 2.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026287"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026288"> status = lefwLayerRoutineEndSpacingtable();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026289"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026290"> status = lefwLayerRoutingStartSpacingtableInfluence();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026291"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026292"> status = lefwLayerRoutingSpacingInfluenceWidth(1.5, 0.5, 0.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026293"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026294"> status = lefwLayerRoutingSpacingInfluenceWidth(5.0, 2.0, 2.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026295"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026296"> status = lefwLayerRoutineEndSpacingtable();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026297"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026298"> current[0] = 0.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026299"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026300"> current[2] = 5.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026301"> status = lefwLayerRoutingStartSpacingtableParallel(3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026302"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026303"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026304"> current[1] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026305"> current[2] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026306"> status = lefwLayerRoutingSpacingtableParallelWidth(0.00, 3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026307"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026308"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026309"> current[1] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026310"> current[2] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026311"> status = lefwLayerRoutingSpacingtableParallelWidth(0.25, 3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026312"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026313"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026314"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026315"> current[2] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026316"> status = lefwLayerRoutingSpacingtableParallelWidth(3.00, 3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026317"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026318"> current[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026319"> current[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026320"> current[2] = 2.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026321"> status = lefwLayerRoutingSpacingtableParallelWidth(5.00, 3, current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026322"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026323"> status = lefwLayerRoutineEndSpacingtable();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026324"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026325"> free((char*)current);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026326"> free((char*)diffs);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026327"> free((char*)ratios);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026328"> status = lefwLayerAntennaGatePlusDiff(2.0); &#47;&#47; 5.7 </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026329"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026330"> status = lefwLayerAntennaDiffAreaRatio(1000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026331"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026332"> status = lefwLayerAntennaCumDiffAreaRatio(5000); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026333"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026334"> status = lefwEndLayerRouting(&#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026335"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026336">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026337"> status = lefwStartLayer(&#34;V1&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026338"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026339"> status = lefwLayerCutSpacing(0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026340"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026341"> status = lefwLayerCutSpacingLayer(&#34;CA&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026342"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026343"> status = lefwLayerCutSpacingEnd();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026344"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026345"> status = lefwEndLayer(&#34;V1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026346"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026347">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026348"> status = lefwStartLayerRouting(&#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026349"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026350"> status = lefwLayerRouting(&#34;VERTICAL&#34;, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026351"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026352"> status = lefwLayerRoutingPitch(1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026353"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026354"> status = lefwLayerRoutingWireExtension(8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026355"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026356"> status = lefwLayerRoutingSpacing(0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026357"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026358"> status = lefwLayerRoutingSpacingLengthThreshold(100.9, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026359"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026360"> status = lefwLayerRoutingSpacing(0.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026361"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026362"> status = lefwLayerRoutingSpacingLengthThreshold(0.9, 0, 0.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026363"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026364"> status = lefwLayerRoutingSpacing(0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026365"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026366"> status = lefwLayerRoutingSpacingLengthThreshold(1.9, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026367"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026368"> status = lefwLayerRoutingSpacing(1.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026369"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026370"> status = lefwLayerRoutingSpacingSameNet(1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026371"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026372"> status = lefwLayerRoutingSpacing(1.1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026373"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026374"> status = lefwLayerRoutingSpacingSameNet(0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026375"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026376"> status = lefwLayerRoutingResistance(&#34;0.0608&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026377"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026378"> status = lefwLayerRoutingCapacitance(&#34;0.000184&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026379"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026380"> status = lefwEndLayerRouting(&#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026381"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026382">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026383"> status = lefwStartLayer(&#34;V2&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026384"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026385"> status = lefwEndLayer(&#34;V2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026386"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026387">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026388"> status = lefwStartLayerRouting(&#34;M3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026389"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026390"> status = lefwLayerRouting(&#34;HORIZONTAL&#34;, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026391"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026392"> status = lefwLayerRoutingPitchXYDistance(1.8, 1.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026393"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026394"> status = lefwLayerRoutingDiagPitchXYDistance(1.5, 1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026395"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026396"> status = lefwLayerRoutingWireExtension(8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026397"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026398"> status = lefwLayerRoutingSpacing(0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026399"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026400"> status = lefwLayerRoutingResistance(&#34;0.0608&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026401"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026402"> status = lefwLayerRoutingCapacitance(&#34;0.000184&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026403"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026404"> status = lefwEndLayerRouting(&#34;M3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026405"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026406">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026407"> area = (double*)malloc(sizeof(double)*3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026408"> width = (double*)malloc(sizeof(double)*3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026409">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026410"> status = lefwStartLayerRouting(&#34;M4&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026411"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026412"> status = lefwLayerRouting(&#34;HORIZONTAL&#34;, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026413"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026414"> status = lefwLayerRoutingMinimumcut(2, 0.50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026415"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026416"> status = lefwLayerRoutingMinimumcut(2, 0.70);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026417"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026418"> status = lefwLayerRoutingMinimumcutConnections(&#34;FROMBELOW&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026419"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026420"> status = lefwLayerRoutingMinimumcut(4, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026421"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026422"> status = lefwLayerRoutingMinimumcutConnections(&#34;FROMABOVE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026423"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026424"> status = lefwLayerRoutingMinimumcut(2, 1.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026425"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026426"> status = lefwLayerRoutingMinimumcutLengthWithin(20.0, 5.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026427"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026428"> area[0] = 0.40;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026429"> width[0] = 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026430"> area[1] = 0.40;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026431"> width[1] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026432"> area[2] = 0.80;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026433"> width[2] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026434"> status = lefwLayerRoutingMinenclosedarea(3, area, width);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026435"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026436"> status = lefwLayerRoutingMaxwidth(10.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026437"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026438"> status = lefwLayerRoutingProtrusion(0.30, 0.60, 1.20);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026439"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026440"> status = lefwLayerRoutingMinstep(0.20);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026441"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026442"> status = lefwLayerRoutingMinstep(0.05);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026443"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026444"> status = lefwLayerRoutingMinstepWithOptions(0.05, NULL, 0.08);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026445"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026446"> status = lefwLayerRoutingMinstepWithOptions(0.05, NULL, 0.16);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026447"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026448"> status = lefwLayerRoutingMinstepWithOptions(0.05, &#34;INSDECORNER&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026449"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026450"> status = lefwLayerRoutingMinstepWithOptions(0.05, &#34;INSIDECORNER&#34;, 0.15);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026451"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026452"> status = lefwLayerRoutingMinstepWithOptions(0.05, &#34;STEP&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026453"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026454"> status = lefwLayerRoutingMinstepWithOptions(0.05, &#34;STEP&#34;, 0.08);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026455"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026456"> status = lefwLayerRoutingMinstepWithOptions(0.04, &#34;STEP&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026457"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026458"> status = lefwLayerRoutingMinstepMaxEdges(1.0, 2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026459"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026460"> status = lefwEndLayerRouting(&#34;M4&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026461"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026462"> free((char*)area);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026463"> free((char*)width);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026464">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026465"> status = lefwStartLayer(&#34;implant1&#34;, &#34;IMPLANT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026466"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026467"> status = lefwLayerWidth(0.50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026468"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026469"> status = lefwLayerCutSpacing(0.50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026470"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026471"> status = lefwLayerCutSpacingEnd();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026472"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026473"> status = lefwEndLayer(&#34;implant1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026474"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026475">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026476"> status = lefwStartLayer(&#34;implant2&#34;, &#34;IMPLANT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026477"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026478"> status = lefwLayerWidth(0.50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026479"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026480"> status = lefwLayerCutSpacing(0.50);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026481"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026482"> status = lefwLayerCutSpacingEnd();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026483"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026484"> status = lefwEndLayer(&#34;implant2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026485"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026486">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026487"> status = lefwStartLayer(&#34;V3&#34;, &#34;CUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026488"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026489"> status = lefwLayerWidth(0.60);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026490"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026491"> status = lefwEndLayer(&#34;V3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026492"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026493">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026494"> status = lefwStartLayerRouting(&#34;MT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026495"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026496"> status = lefwLayerRouting(&#34;VERTICAL&#34;, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026497"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026498"> status = lefwLayerRoutingPitch(1.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026499"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026500"> status = lefwLayerRoutingSpacing(0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026501"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026502"> status = lefwLayerRoutingResistance(&#34;0.0608&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026503"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026504"> status = lefwLayerRoutingCapacitance(&#34;0.000184&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026505"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026506"> status = lefwEndLayerRouting(&#34;MT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026507"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026508">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026509"> status = lefwStartLayer(&#34;OVERLAP&#34;, &#34;OVERLAP&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026510"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026511"> status = lefwEndLayer(&#34;OVERLAP&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026512"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026513">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026514"> status = lefwStartLayerRouting(&#34;MET2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026515"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026516"> status = lefwLayerRouting(&#34;VERTICAL&#34;, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026517"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026518"> status = lefwMinimumDensity(20.2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026519"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026520"> status = lefwMaximumDensity(80.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026521"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026522"> status = lefwDensityCheckWindow(200.0, 200.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026523"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026524"> status = lefwDensityCheckStep(100.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026525"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026526"> status = lefwFillActiveSpacing(3.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026527"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026528"> status = lefwEndLayerRouting(&#34;MET2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026529"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026530">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026531"> status = lefwStartLayer(&#34;via34&#34;, &#34;CUT&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026532"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026533"> status = lefwLayerWidth(0.25); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026534"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026535"> status = lefwLayerCutSpacing(0.1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026536"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026537"> status = lefwLayerCutSpacingCenterToCenter(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026538"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026539"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026540"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026541"> status = lefwLayerEnclosure(0, .05, .01, 0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026542"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026543"> status = lefwLayerEnclosureLength(0, .05, 0, 0.7); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026544"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026545"> status = lefwLayerEnclosure(&#34;BELOW&#34;, .07, .07, 1.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026546"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026547"> status = lefwLayerEnclosure(&#34;ABOVE&#34;, .09, .09, 1.0); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026548"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026549"> status = lefwLayerEnclosureWidth(0, .03, .03, 1.0, 0.2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026550"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026551"> status = lefwEndLayer(&#34;via34&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026552"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026553">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026554"> status = lefwStartLayer(&#34;cut23&#34;, &#34;CUT&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026555"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026556"> status = lefwLayerCutSpacing(0.20); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026557"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026558"> status = lefwLayerCutSpacingSameNet(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026559"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026560"> status = lefwLayerCutSpacingLayer(&#34;cut12&#34;, 1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026561"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026562"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026563"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026564">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026565"> status = lefwLayerCutSpacing(0.30); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026566"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026567"> status = lefwLayerCutSpacingCenterToCenter(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026568"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026569"> status = lefwLayerCutSpacingSameNet(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026570"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026571"> status = lefwLayerCutSpacingArea(0.02); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026572"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026573"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026574"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026575">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026576"> status = lefwLayerCutSpacing(0.40); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026577"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026578"> status = lefwLayerCutSpacingArea(0.5); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026579"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026580"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026581"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026582">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026583"> status = lefwLayerCutSpacing(0.10); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026584"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026585"> status = lefwLayerCutSpacingEnd(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026586"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026587">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026588"> wthn = (double*)malloc(sizeof(double)*3); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026589"> spng = (double*)malloc(sizeof(double)*3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026590"> wthn[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026591"> spng[0] = 0.11;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026592"> wthn[1] = 0.13;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026593"> spng[1] = 0.13;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026594"> wthn[2] = 0.11;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026595"> spng[2] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026596"> status = lefwLayerCutSpacingTableOrtho(3, wthn, spng);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026597"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026598">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026599"> wthn[0] = 3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026600"> spng[0] = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026601"> status = lefwLayerArraySpacing(0, 2.0, 0.2, 1, wthn, spng);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026602"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026603"> wthn[0] = 3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026604"> spng[0] = 1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026605"> wthn[1] = 4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026606"> spng[1] = 1.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026607"> wthn[2] = 5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026608"> spng[2] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026609"> status = lefwLayerArraySpacing(1, 2.0, 0.2, 3, wthn, spng);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026610"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026611"> free((char*)wthn);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026612"> free((char*)spng);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026613"> status = lefwEndLayer(&#34;cut23&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026614"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026615">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026616"> status = lefwStartLayerRouting(&#34;cut24&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026617"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026618"> status = lefwLayerRouting(&#34;HORIZONTAL&#34;, 1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026619"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026620"> status = lefwLayerRoutingPitch(1.2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026621"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026622"> status = lefwLayerRoutingSpacing(0.10); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026623"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026624"> status = lefwLayerRoutingSpacing(0.12); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026625"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026626"> status = lefwLayerRoutingSpacingNotchLength(0.15); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026627"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026628"> status = lefwLayerRoutingSpacing(0.14); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026629"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026630"> status = lefwLayerRoutingSpacingEndOfNotchWidth(0.15, 0.16, 0.08); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026631"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026632"> status = lefwEndLayerRouting(&#34;cut24&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026633"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026634">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026635"> status = lefwStartLayerRouting(&#34;cut25&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026636"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026637"> status = lefwLayerRoutingPitch(1.2); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026638"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026639"> status = lefwLayerRouting(&#34;HORIZONTAL&#34;, 1); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026640"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026641"> status = lefwLayerRoutingWireExtension(7); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026642"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026643"> status = lefwLayerRoutingStartSpacingtableTwoWidths(); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026644"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026645"> wthn = (double*)malloc(sizeof(double)*4); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026646"> wthn[0] = 0.15;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026647"> wthn[1] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026648"> wthn[2] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026649"> wthn[3] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026650"> status = lefwLayerRoutingSpacingtableTwoWidthsWidth(0.0, 0, 4, wthn); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026651"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026652"> wthn[0] = 0.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026653"> wthn[1] = 0.25;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026654"> wthn[2] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026655"> wthn[3] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026656"> status = lefwLayerRoutingSpacingtableTwoWidthsWidth(0.25, 0.1, 4, wthn);&#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026657"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026658"> wthn[0] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026659"> wthn[1] = 0.50;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026660"> wthn[2] = 0.60;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026661"> wthn[3] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026662"> status = lefwLayerRoutingSpacingtableTwoWidthsWidth(1.5, 1.5, 4, wthn);&#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026663"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026664"> wthn[0] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026665"> wthn[1] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026666"> wthn[2] = 1.00;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026667"> wthn[3] = 1.20;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026668"> status = lefwLayerRoutingSpacingtableTwoWidthsWidth(3.0, 3.0, 4, wthn);&#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026669"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026670"> free(wthn);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026671"> status = lefwLayerRoutineEndSpacingtable();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026672"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026673"> status = lefwEndLayerRouting(&#34;cut25&#34;); &#47;&#47; 5.7</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026674"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026675">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026676"> &#47;&#47; MAXVIASTACK</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026677"> status = lefwMaxviastack(4, &#34;m1&#34;, &#34;m7&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026678"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026679">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026680"> &#47;&#47; VIA</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026681"> status = lefwStartVia(&#34;RX_PC&#34;, &#34;DEFAULT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026682"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026683"> status = lefwViaResistance(2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026684"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026685"> status = lefwViaLayer(&#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026686"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026687"> status = lefwViaLayerRect(&#45;0.7, &#45;0.7, 0.7, 0.7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026688"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026689"> status = lefwViaLayer(&#34;CUT12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026690"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026691"> status = lefwViaLayerRect(&#45;0.25, &#45;0.25, 0.25, 0.25);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026692"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026693"> status = lefwViaLayer(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026694"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026695"> status = lefwViaLayerRect(&#45;0.6, &#45;0.6, 0.6, 0.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026696"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026697"> status = lefwStringProperty(&#34;stringProperty&#34;, &#34;DEFAULT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026698"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026699"> status = lefwRealProperty(&#34;realProperty&#34;, 32.33);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026700"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026701"> status = lefwIntProperty(&#34;COUNT&#34;, 34);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026702"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026703"> status = lefwEndVia(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026704"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026705">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026706"> status = lefwStartVia(&#34;M2_M3_PWR&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026707"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026708"> status = lefwViaResistance(0.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026709"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026710"> status = lefwViaLayer(&#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026711"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026712"> status = lefwViaLayerRect(&#45;1.35, &#45;1.35, 1.35, 1.35);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026713"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026714"> status = lefwViaLayer(&#34;V2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026715"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026716"> status = lefwViaLayerRect(&#45;1.35, &#45;1.35, &#45;0.45, 1.35);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026717"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026718"> status = lefwViaLayerRect(0.45, &#45;1.35, 1.35, &#45;0.45);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026719"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026720"> status = lefwViaLayerRect(0.45, 0.45, 1.35, 1.35);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026721"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026722"> status = lefwViaLayer(&#34;M3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026723"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026724"> status = lefwViaLayerRect(&#45;1.35, &#45;1.35, 1.35, 1.35);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026725"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026726"> status = lefwEndVia(&#34;M2_M3_PWR&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026727"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026728">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026729"> xl = (double*)malloc(sizeof(double)*6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026730"> yl = (double*)malloc(sizeof(double)*6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026731"> status = lefwStartVia(&#34;IN1X&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026732"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026733"> status = lefwViaLayer(&#34;metal2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026734"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026735"> xl[0] = &#45;2.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026736"> yl[0] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026737"> xl[1] = &#45;0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026738"> yl[1] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026739"> xl[2] = 2.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026740"> yl[2] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026741"> xl[3] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026742"> yl[3] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026743"> xl[4] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026744"> yl[4] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026745"> xl[5] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026746"> yl[5] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026747"> status = lefwViaLayerPolygon(6, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026748"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026749"> xl[0] = &#45;1.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026750"> yl[0] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026751"> xl[1] = &#45;0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026752"> yl[1] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026753"> xl[2] = 1.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026754"> yl[2] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026755"> xl[3] = 0.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026756"> yl[3] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026757"> status = lefwViaLayerPolygon(4, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026758"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026759"> xl[0] = &#45;3.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026760"> yl[0] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026761"> xl[1] = &#45;0.3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026762"> yl[1] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026763"> xl[2] = 3.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026764"> yl[2] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026765"> xl[3] = 0.3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026766"> yl[3] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026767"> status = lefwViaLayerPolygon(4, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026768"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026769"> xl[0] = &#45;4.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026770"> yl[0] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026771"> xl[1] = &#45;0.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026772"> yl[1] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026773"> xl[2] = 4.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026774"> yl[2] = 2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026775"> xl[3] = 0.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026776"> yl[3] = &#45;2.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026777"> status = lefwViaLayerPolygon(4, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026778"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026779"> status = lefwViaLayer(&#34;cut23&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026780"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026781"> status = lefwViaLayerRect(&#45;0.4, &#45;0.4, 0.4, 0.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026782"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026783"> xl[0] = &#45;2.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026784"> yl[0] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026785"> xl[1] = &#45;0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026786"> yl[1] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026787"> xl[2] = 2.1;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026788"> yl[2] = 1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026789"> xl[3] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026790"> yl[3] = &#45;1.0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026791"> status = lefwViaLayerPolygon(4, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026792"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026793"> status = lefwEndVia(&#34;IN1X&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026794"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026795">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026796"> status = lefwStartVia(&#34;myBlockVia&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026797"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026798"> status = lefwViaViarule(&#34;DEFAULT&#34;, 0.1, 0.1, &#34;metal1&#34;, &#34;via12&#34;, &#34;metal2&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026799"> 0.1, 0.1, 0.05, 0.01, 0.01, 0.05);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026800"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026801"> status = lefwViaViaruleRowCol(1, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026802"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026803"> status = lefwViaViaruleOrigin(1.5, 2.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026804"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026805"> status = lefwViaViaruleOffset(1.5, 2.5, 3.5, 4.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026806"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026807"> status = lefwViaViarulePattern(&#34;2_1RF1RF1R71R0_3_R1FFFF&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026808"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026809"> status = lefwEndVia(&#34;myBlockVia&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026810"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026811">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026812"> status = lefwStartVia(&#34;myVia23&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026813"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026814"> status = lefwViaLayer(&#34;metal2&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026815"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026816"> status = lefwViaLayerPolygon(6, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026817"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026818"> status = lefwViaLayer(&#34;cut23&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026819"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026820"> status = lefwViaLayerRect(&#45;0.4, &#45;0.4, 0.4, 0.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026821"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026822"> status = lefwViaLayer(&#34;metal3&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026823"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026824"> status = lefwViaLayerPolygon(5, xl, yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026825"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026826"> status = lefwEndVia(&#34;myVia23&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026827"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026828">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026829"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026830"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026831">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026832"> &#47;&#47; VIARULE</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026833"> status = lefwStartViaRule(&#34;VIALIST12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026834"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026835"> lefwAddComment(&#34;Break up the old lefwViaRule into 2 routines&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026836"> lefwAddComment(&#34;lefwViaRuleLayer and lefwViaRuleVia&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026837"> status = lefwViaRuleLayer(&#34;M1&#34;, NULL, 9.0, 9.6, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026838"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026839"> status = lefwViaRuleLayer(&#34;M2&#34;, NULL, 3.0, 3.0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026840"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026841"> status = lefwViaRuleVia(&#34;VIACENTER12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026842"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026843"> status = lefwStringProperty(&#34;vrsp&#34;, &#34;new&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026844"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026845"> status = lefwIntProperty(&#34;vrip&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026846"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026847"> status = lefwRealProperty(&#34;vrrp&#34;, 4.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026848"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026849"> status = lefwEndViaRule(&#34;VIALIST12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026850"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026851">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026852"> &#47;&#47; VIARULE with GENERATE</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026853"> lefwAddComment(&#34;Break up the old lefwViaRuleGenearte into 4 routines&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026854"> lefwAddComment(&#34;lefwStartViaRuleGen, lefwViaRuleGenLayer,&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026855"> lefwAddComment(&#34;lefwViaRuleGenLayer3, and lefwEndViaRuleGen&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026856"> status = lefwStartViaRuleGen(&#34;VIAGEN12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026857"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026858"> status = lefwViaRuleGenLayer(&#34;M1&#34;, NULL, 0.1, 19, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026859"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026860"> status = lefwViaRuleGenLayer(&#34;M2&#34;, NULL, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026861"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026862"> status = lefwViaRuleGenLayer3(&#34;V1&#34;, &#45;0.8, &#45;0.8, 0.8, 0.8, 5.6, 6.0, 0.2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026863"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026864"> status = lefwEndViaRuleGen(&#34;VIAGEN12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026865"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026866">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026867"> &#47;&#47; VIARULE with GENERATE &amp; ENCLOSURE &amp; DEFAULT&nbsp;&nbsp;&nbsp;&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026868"> status = lefwStartViaRuleGen(&#34;via12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026869"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026870"> status = lefwViaRuleGenDefault();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026871"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026872"> status = lefwViaRuleGenLayerEnclosure(&#34;m1&#34;, 0.05, 0.005, 1.0, 100.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026873"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026874"> status = lefwViaRuleGenLayerEnclosure(&#34;m2&#34;, 0.05, 0.005, 1.0, 100.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026875"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026876"> status = lefwViaRuleGenLayer3(&#34;cut12&#34;, &#45;0.07, &#45;0.07, 0.07, 0.07, 0.16, 0.16, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026877"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026878"> status = lefwEndViaRuleGen(&#34;via12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026879"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026880">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026881"> &#47;&#47; NONDEFAULTRULE</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026882"> status = lefwStartNonDefaultRule(&#34;RULE1&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026883"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026884"> status = lefwNonDefaultRuleHardspacing(); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026885"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026886"> status = lefwNonDefaultRuleLayer(&#34;RX&#34;, 10.0, 2.2, 6, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026887"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026888"> status = lefwNonDefaultRuleLayer(&#34;PC&#34;, 10.0, 2.2, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026889"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026890"> status = lefwNonDefaultRuleLayer(&#34;M1&#34;, 10.0, 2.2, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026891"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026892"> status = lefwStartVia(&#34;nd1VARX0&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026893"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026894"> status = lefwViaResistance(0.2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026895"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026896"> status = lefwViaLayer(&#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026897"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026898"> status = lefwViaLayerRect(&#45;3, &#45;3, 3, 3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026899"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026900"> status = lefwViaLayer(&#34;CUT12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026901"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026902"> status = lefwViaLayerRect(&#45;1.0, &#45;1.0, 1.0, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026903"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026904"> status = lefwViaLayer(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026905"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026906"> status = lefwViaLayerRect(&#45;3, &#45;3, 3, 3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026907"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026908"> status = lefwEndVia(&#34;nd1VARX0&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026909"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026910"> status = lefwStartSpacing();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026911"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026912"> status = lefwSpacing(&#34;CUT01&#34;, &#34;RX&#34;, 0.1, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026913"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026914"> status = lefwEndSpacing();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026915"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026916"> status = lefwEndNonDefaultRule(&#34;RULE1&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026917"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026918"> status = lefwStartNonDefaultRule(&#34;wide1_5x&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026919"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026920"> status = lefwNonDefaultRuleLayer(&#34;fw&#34;, 4.8, 4.8, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026921"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026922"> status = lefwNonDefaultRuleStartVia(&#34;nd1VIARX0&#34;, &#34;DEFAULT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026923"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026924"> status = lefwViaResistance(0.2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026925"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026926"> status = lefwViaLayer(&#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026927"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026928"> status = lefwViaLayerRect(&#45;3, &#45;3, 3, 3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026929"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026930"> status = lefwViaLayer(&#34;CUT12&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026931"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026932"> status = lefwViaLayerRect(&#45;1.0, &#45;1.0, 1.0, 1.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026933"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026934"> status = lefwViaLayer(&#34;PC&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026935"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026936"> status = lefwViaLayerRect(&#45;3, &#45;3, 3, 3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026937"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026938"> status = lefwNonDefaultRuleEndVia(&#34;nd1VIARX0&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026939"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026940"> status = lefwNonDefaultRuleUseVia(&#34;via12_fixed_analog_via&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026941"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026942"> status = lefwNonDefaultRuleMinCuts(&#34;cut12&#34;, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026943"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026944"> status = lefwNonDefaultRuleUseVia(&#34;via23_fixed_analog_via&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026945"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026946"> status = lefwNonDefaultRuleMinCuts(&#34;cut23&#34;, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026947"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026948"> status = lefwNonDefaultRuleUseViaRule(&#34;viaRule23_fixed_analog_via&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026949"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026950"> status = lefwEndNonDefaultRule(&#34;wide1_5x&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026951"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026952">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026953"> &#47;&#47; SPACING</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026954"> status = lefwStartSpacing();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026955"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026956"> status = lefwSpacing(&#34;CUT01&#34;, &#34;CA&#34;, 1.5, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026957"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026958"> status = lefwSpacing(&#34;CA&#34;, &#34;V1&#34;, 1.5, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026959"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026960"> status = lefwSpacing(&#34;M1&#34;, &#34;M1&#34;, 3.5, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026961"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026962"> status = lefwSpacing(&#34;V1&#34;, &#34;V2&#34;, 1.5, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026963"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026964"> status = lefwSpacing(&#34;M2&#34;, &#34;M2&#34;, 3.5, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026965"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026966"> status = lefwSpacing(&#34;V2&#34;, &#34;V3&#34;, 1.5, &#34;STACK&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026967"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026968"> status = lefwEndSpacing();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026969"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026970">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026971"> &#47;&#47; MINFEATURE &amp; DIELECTRIC</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026972"> status = lefwMinFeature(0.1, 0.1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026973"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026974"> status = lefwNewLine();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026975"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026976">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026977"> &#47;&#47; SITE</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026978"> status = lefwSite(&#34;CORE1&#34;, &#34;CORE&#34;, &#34;X&#34;, 67.2, 6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026979"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026980"> status = lefwSiteRowPattern(&#34;Fsite&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026981"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026982"> status = lefwSiteRowPatternStr(&#34;Lsite&#34;, &#34;N&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026983"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026984"> status = lefwSiteRowPatternStr(&#34;Lsite&#34;, &#34;FS&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026985"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026986"> lefwEndSite(&#34;CORE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026987"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026988"> status = lefwSite(&#34;CORE&#34;, &#34;CORE&#34;, &#34;Y&#34;, 3.6, 28.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026989"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026990"> lefwEndSite(&#34;CORE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026991"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026992"> status = lefwSite(&#34;MRCORE&#34;, &#34;CORE&#34;, &#34;Y&#34;, 3.6, 28.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026993"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026994"> lefwEndSite(&#34;MRCORE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026995"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026996"> status = lefwSite(&#34;IOWIRED&#34;, &#34;PAD&#34;, NULL, 57.6, 432);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026997"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026998"> lefwEndSite(&#34;IOWIRED&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1026999"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027000">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027001"> &#47;&#47; ARRAY</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027002"> status = lefwStartArray(&#34;M7E4XXX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027003"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027004"> status = lefwArraySite(&#34;CORE&#34;, &#45;5021.450, &#45;4998.000, 0, 14346, 595, 0.700,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027005"> 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027006"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027007"> status = lefwArraySiteStr(&#34;CORE&#34;, &#45;5021.450, &#45;4998.600, &#34;FS&#34;, 14346, 595,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027008"> 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027009"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027010"> status = lefwArraySite(&#34;IO&#34;, 6148.800, 5800.000, 3, 1, 1, 0.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027011"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027012"> status = lefwArraySiteStr(&#34;IO&#34;, 6148.800, 5240.000, &#34;E&#34;, 1, 1, 0.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027013"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027014"> status = lefwArraySite(&#34;COVER&#34;, &#45;7315.0, &#45;7315.000, 1, 1, 1, 0.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027015"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027016"> status = lefwArraySiteStr(&#34;COVER&#34;, 7315.0, 7315.000, &#34;FN&#34;, 1, 1, 0.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027017"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027018"> status = lefwArrayCanplace(&#34;COVER&#34;, &#45;7315.000, &#45;7315.000, 0, 1, 1, 0.000,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027019"> 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027020"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027021"> status = lefwArrayCanplaceStr(&#34;COVER&#34;, &#45;7250.000, &#45;7250.000, &#34;N&#34;, 5, 1,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027022"> 40.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027023"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027024"> status = lefwArrayCannotoccupy(&#34;CORE&#34;, &#45;5021.450, &#45;4989.600, 6, 100, 595,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027025"> 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027026"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027027"> status = lefwArrayCannotoccupyStr(&#34;CORE&#34;, &#45;5021.450, &#45;4989.600, &#34;N&#34;, 100, 595,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027028"> 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027029"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027030"> status = lefwArrayTracks(&#34;X&#34;, &#45;6148.800, 17569, 0.700, &#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027031"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027032"> status = lefwArrayTracks(&#34;Y&#34;, &#45;6148.800, 20497, 0.600, &#34;RX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027033"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027034"> status = lefwStartArrayFloorplan(&#34;100%&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027035"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027036"> status = lefwArrayFloorplan(&#34;CANPLACE&#34;, &#34;COVER&#34;, &#45;7315.000, &#45;7315.000, 1, 1,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027037"> 1, 0.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027038"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027039"> status = lefwArrayFloorplanStr(&#34;CANPLACE&#34;, &#34;COVER&#34;, &#45;7250.000, &#45;7250.000,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027040"> &#34;N&#34;, 5, 1, 40.000, 0.000);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027041"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027042"> status = lefwArrayFloorplan(&#34;CANPLACE&#34;, &#34;CORE&#34;, &#45;5021.000, &#45;4998.000, 1,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027043"> 14346, 595, 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027044"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027045"> status = lefwArrayFloorplanStr(&#34;CANPLACE&#34;, &#34;CORE&#34;, &#45;5021.000, &#45;4998.000, &#34;FS&#34;,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027046"> 100, 595, 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027047"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027048"> status = lefwArrayFloorplan(&#34;CANNOTOCCUPY&#34;, &#34;CORE&#34;, &#45;5021.000, &#45;4998.000, 7,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027049"> 14346, 595, 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027050"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027051"> status = lefwArrayFloorplanStr(&#34;CANNOTOCCUPY&#34;, &#34;CORE&#34;, &#45;5021.000, &#45;4998.000,</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027052"> &#34;E&#34;, 100, 595, 0.700, 16.800);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027053"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027054"> status = lefwEndArrayFloorplan(&#34;100%&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027055"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027056"> status = lefwArrayGcellgrid(&#34;X&#34;, &#45;6157.200, 1467, 8.400);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027057"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027058"> status = lefwArrayGcellgrid(&#34;Y&#34;, &#45;6157.200, 1467, 8.400);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027059"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027060"> status = lefwEndArray(&#34;M7E4XXX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027061"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027062">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027063"> &#47;&#47; MACRO</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027064"> status = lefwStartMacro(&#34;CHK3A&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027065"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027066"> status = lefwMacroClass(&#34;RING&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027067"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027068"> status = lefwMacroOrigin(0.9, 0.9);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027069"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027070"> status = lefwMacroSize(10.8, 28.8);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027071"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027072"> status = lefwMacroSymmetry(&#34;X Y R90&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027073"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027074"> status = lefwMacroSite(&#34;CORE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027075"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027076"> status = lefwStartMacroPin(&#34;GND&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027077"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027078"> status = lefwMacroPinDirection(&#34;INOUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027079"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027080"> status = lefwMacroPinMustjoin(&#34;PA3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027081"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027082"> status = lefwMacroPinTaperRule(&#34;RULE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027083"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027084"> status = lefwMacroPinUse(&#34;GROUND&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027085"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027086"> status = lefwMacroPinShape(&#34;ABUTMENT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027087"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027088"> status = lefwMacroPinSupplySensitivity(&#34;vddpin1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027089"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027090"> status = lefwMacroPinNetExpr(&#34;power1 VDD1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027091"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027092"> status = lefwMacroPinAntennaMetalArea(3, &#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027093"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027094"> &#47;&#47; MACRO &#45; PIN</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027095"> status = lefwStartMacroPinPort(NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027096"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027097"> status = lefwMacroPinPortLayer(&#34;M1&#34;, 0.05);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027098"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027099"> status = lefwMacroPinPortLayerRect(&#45;0.9, 3, 9.9, 6, 0, 0, 0, 0); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027100"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027101"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027102"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027103"> status = lefwStringProperty(&#34;TYPE&#34;, &#34;special&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027104"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027105"> status = lefwIntProperty(&#34;intProp&#34;, 23);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027106"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027107"> status = lefwRealProperty(&#34;realProp&#34;, 24.25);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027108"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027109"> status = lefwMacroPinAntennaModel(&#34;OXIDE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027110"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027111"> status = lefwEndMacroPin(&#34;GND&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027112"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027113"> status = lefwStartMacroPin(&#34;VDD&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027114"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027115"> status = lefwMacroPinDirection(&#34;INOUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027116"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027117"> status = lefwMacroPinUse(&#34;POWER&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027118"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027119"> status = lefwMacroPinShape(&#34;ABUTMENT&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027120"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027121"> status = lefwMacroPinNetExpr(&#34;power2 VDD2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027122"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027123"> &#47;&#47; MACRO &#45; PIN &#45; PORT</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027124"> status = lefwStartMacroPinPort(NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027125"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027126"> status = lefwMacroPinPortLayer(&#34;M1&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027127"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027128"> status = lefwMacroPinPortLayerRect(&#45;0.9, 21, 9.9, 24, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027129"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027130"> status = lefwMacroPinPortVia(100, 300, &#34;nd1VIA12&#34;, 1, 2, 1, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027131"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027132"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027133"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027134"> status = lefwStartMacroPinPort(&#34;BUMP&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027135"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027136"> status = lefwMacroPinPortLayer(&#34;M2&#34;, 0.06);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027137"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027138"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027139"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027140"> xl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027141"> yl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027142"> xl[0] = 30.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027143"> yl[0] = 30.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027144"> xl[1] = 42;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027145"> yl[1] = 53.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027146"> xl[2] = 60.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027147"> yl[2] = 25.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027148"> xl[3] = 47;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027149"> yl[3] = 15.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027150"> xl[4] = 20.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027151"> yl[4] = 0.5;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027152"> status = lefwStartMacroPinPort(&#34;CORE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027153"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027154"> status = lefwMacroPinPortLayer(&#34;P1&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027155"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027156"> status = lefwMacroPinPortLayerPolygon(5, xl, yl, 5, 6, 454.6, 345.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027157"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027158"> status = lefwMacroPinPortLayerPolygon(5, xl, yl, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027159"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027160"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027161"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027162"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027163"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027164"> status = lefwEndMacroPin(&#34;VDD&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027165"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027166"> status = lefwStartMacroPin(&#34;PA3&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027167"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027168"> status = lefwMacroPinDirection(&#34;INPUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027169"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027170"> status = lefwMacroPinNetExpr(&#34;gnd1 GND&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027171"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027172"> &#47;&#47; 5.4</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027173"> status = lefwMacroPinAntennaPartialMetalArea(4, &#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027174"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027175"> status = lefwMacroPinAntennaPartialMetalArea(5, &#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027176"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027177"> status = lefwMacroPinAntennaPartialMetalSideArea(5, &#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027178"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027179"> status = lefwMacroPinAntennaGateArea(1, &#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027180"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027181"> status = lefwMacroPinAntennaGateArea(2, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027182"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027183"> status = lefwMacroPinAntennaGateArea(3, &#34;M3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027184"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027185"> status = lefwMacroPinAntennaDiffArea(1, &#34;M1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027186"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027187"> status = lefwMacroPinAntennaMaxAreaCar(1, &#34;L1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027188"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027189"> status = lefwMacroPinAntennaMaxSideAreaCar(1, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027190"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027191"> status = lefwMacroPinAntennaPartialCutArea(1, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027192"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027193"> status = lefwMacroPinAntennaPartialCutArea(2, &#34;M2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027194"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027195"> status = lefwMacroPinAntennaPartialCutArea(3, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027196"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027197"> status = lefwMacroPinAntennaPartialCutArea(4, &#34;M4&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027198"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027199"> status = lefwMacroPinAntennaMaxCutCar(1, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027200"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027201"> status = lefwStartMacroPinPort(&#34;CORE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027202"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027203"> status = lefwMacroPinPortLayer(&#34;M1&#34;, 0.02);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027204"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027205"> status = lefwMacroPinPortLayerRect(1.35, &#45;0.45, 2.25, 0.45, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027206"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027207"> status = lefwMacroPinPortLayerRect(&#45;0.45, &#45;0.45, 0.45, 0.45, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027208"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027209"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027210"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027211"> status = lefwStartMacroPinPort(NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027212"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027213"> status = lefwMacroPinPortLayer(&#34;PC&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027214"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027215"> status = lefwMacroPinPortLayerRect(&#45;0.45, 12.15, 0.45, 13.05, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027216"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027217"> status = lefwEndMacroPinPort(); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027218"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027219"> status = lefwStartMacroPinPort(NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027220"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027221"> status = lefwMacroPinPortDesignRuleWidth(&#34;PC&#34;, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027222"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027223"> status = lefwMacroPinPortLayerRect(8.55, 8.55, 9.45, 9.45, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027224"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027225"> status = lefwMacroPinPortLayerRect(6.75, 6.75, 7.65, 7.65, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027226"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027227"> status = lefwMacroPinPortLayerRect(6.75, 8.75, 7.65, 9.65, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027228"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027229"> status = lefwMacroPinPortLayerRect(6.75, 10.35, 7.65, 11.25, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027230"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027231"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027232"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027233"> status = lefwEndMacroPin(&#34;PA3&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027234"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027235"> &#47;&#47; MACRO &#45; OBS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027236"> status = lefwStartMacroObs();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027237"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027238"> status = lefwMacroObsLayer(&#34;M1&#34;, 5.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027239"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027240"> status = lefwMacroObsLayerWidth(5.4);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027241"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027242"> status = lefwMacroObsLayerRect(6.6, &#45;0.6, 9.6, 0.6, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027243"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027244"> status = lefwMacroObsLayerRect(4.8, 12.9, 9.6, 13.2, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027245"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027246"> status = lefwMacroObsLayerRect(3, 13.8, 7.8, 16.8, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027247"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027248"> status = lefwMacroObsLayerRect(3, &#45;0.6, 6, 0.6, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027249"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027250"> status = lefwEndMacroObs();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027251"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027252"> status = lefwStringProperty(&#34;stringProp&#34;, &#34;first&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027253"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027254"> status = lefwIntProperty(&#34;integerProp&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027255"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027256"> status = lefwRealProperty(&#34;WEIGHT&#34;, 30.31);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027257"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027258"> status = lefwEndMacro(&#34;CHK3A&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027259"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027260">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027261"> &#47;&#47; 2nd MACRO</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027262"> status = lefwStartMacro(&#34;INV&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027263"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027264"> status = lefwMacroEEQ(&#34;CHK1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027265"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027266"> status = lefwMacroClass(&#34;CORE&#34;, &#34;SPACER&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027267"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027268"> status = lefwMacroForeign(&#34;INVS&#34;, 0, 0, &#45;1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027269"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027270"> status = lefwMacroSize(67.2, 24);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027271"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027272"> status = lefwMacroSymmetry(&#34;X Y R90&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027273"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027274"> status = lefwMacroSite(&#34;CORE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027275"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027276"> status = lefwStartMacroDensity(&#34;metal1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027277"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027278"> status = lefwMacroDensityLayerRect(0, 0, 100, 100, 45.5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027279"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027280"> status = lefwMacroDensityLayerRect(100, 0, 200, 100, 42.2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027281"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027282"> status = lefwEndMacroDensity();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027283"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027284"> status = lefwStartMacroDensity(&#34;metal2&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027285"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027286"> status = lefwMacroDensityLayerRect(200, 1, 300, 200, 43.3);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027287"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027288"> status = lefwEndMacroDensity();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027289"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027290"> status = lefwStartMacroPin(&#34;Z&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027291"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027292"> status = lefwMacroPinDirection(&#34;OUTPUT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027293"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027294"> status = lefwMacroPinUse(&#34;SIGNAL&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027295"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027296"> status = lefwMacroPinShape(&#34;ABUTMENT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027297"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027298"> status = lefwMacroPinAntennaModel(&#34;OXIDE1&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027299"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027300"> status = lefwStartMacroPinPort(NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027301"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027302"> status = lefwMacroPinPortLayer(&#34;M2&#34;, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027303"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027304"> status = lefwMacroPinPortLayerWidth(5.6);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027305"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027306"> xpath = (double*)malloc(sizeof(double)*7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027307"> ypath = (double*)malloc(sizeof(double)*7);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027308"> xpath[0] = 30.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027309"> ypath[0] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027310"> xpath[1] = 42;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027311"> ypath[1] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027312"> xpath[2] = 30.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027313"> ypath[2] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027314"> xpath[3] = 42;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027315"> ypath[3] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027316"> xpath[4] = 30.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027317"> ypath[4] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027318"> xpath[5] = 42;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027319"> ypath[5] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027320"> xpath[6] = 30.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027321"> ypath[6] = 9;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027322"> status = lefwMacroPinPortLayerPath(7, xpath, ypath, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027323"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027324"> status = lefwEndMacroPinPort();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027325"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027326"> status = lefwEndMacroPin(&#34;Z&#34;); </a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027327"> free((char*)xpath);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027328"> free((char*)ypath);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027329"> &#47;&#47; MACRO &#45; OBS</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027330"> status = lefwStartMacroObs();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027331"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027332"> status = lefwMacroObsDesignRuleWidth(&#34;M1&#34;, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027333"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027334"> status = lefwMacroObsLayerRect(24.1, 1.5, 43.5, 208.5, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027335"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027336"> xpath = (double*)malloc(sizeof(double)*2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027337"> ypath = (double*)malloc(sizeof(double)*2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027338"> xpath[0] = 8.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027339"> ypath[0] = 3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027340"> xpath[1] = 8.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027341"> ypath[1] = 124;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027342"> status = lefwMacroObsLayerPath(2, xpath, ypath, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027343"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027344"> xpath[0] = 58.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027345"> ypath[0] = 3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027346"> xpath[1] = 58.8;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027347"> ypath[1] = 123;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027348"> status = lefwMacroObsLayerPath(2, xpath, ypath, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027349"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027350"> xpath[0] = 64.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027351"> ypath[0] = 3;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027352"> xpath[1] = 64.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027353"> ypath[1] = 123;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027354"> status = lefwMacroObsLayerPath(2, xpath, ypath, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027355"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027356"> free((char*)xpath);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027357"> free((char*)ypath);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027358"> xl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027359"> yl = (double*)malloc(sizeof(double)*5);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027360"> xl[0] = 6.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027361"> xl[1] = 3.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027362"> xl[2] = 5.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027363"> xl[3] = 8.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027364"> xl[4] = 9.4;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027365"> yl[0] = 9.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027366"> yl[1] = 0.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027367"> yl[2] = 7.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027368"> yl[3] = 8.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027369"> yl[4] = 1.2;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027370"> status = lefwMacroObsLayerPolygon(5, xl, yl, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027371"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027372"> free((char*)xl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027373"> free((char*)yl);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027374"> status = lefwEndMacroObs();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027375"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027376"> status = lefwEndMacro(&#34;INV&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027377"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027378">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027379"> &#47;&#47; 3rd MACRO</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027380"> status = lefwStartMacro(&#34;DFF3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027381"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027382"> status = lefwMacroClass(&#34;CORE&#34;, &#34;ANTENNACELL&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027383"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027384"> status = lefwMacroForeignStr(&#34;DFF3S&#34;, 0, 0, &#34;N&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027385"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027386"> status = lefwMacroSize(67.2, 210);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027387"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027388"> status = lefwMacroSymmetry(&#34;X Y R90&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027389"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027390"> status = lefwMacroSitePattern(&#34;CORE&#34;, 34, 54, 7, 30, 3, 1, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027391"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027392"> status = lefwMacroSitePatternStr(&#34;CORE1&#34;, 21, 68, &#34;S&#34;, 30, 3, 2, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027393"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027394"> status = lefwEndMacro(&#34;DFF3&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027395"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027396">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027397"> status = lefwStartMacro(&#34;DFF4&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027398"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027399"> status = lefwMacroClass(&#34;COVER&#34;, &#34;BUMP&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027400"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027401"> status = lefwMacroForeignStr(&#34;DFF3S&#34;, 0, 0, &#34;&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027402"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027403"> status = lefwEndMacro(&#34;DFF4&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027404"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027405">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027406"> status = lefwStartMacro(&#34;DFF5&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027407"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027408"> status = lefwMacroClass(&#34;COVER&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027409"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027410"> status = lefwMacroForeignStr(&#34;DFF3S&#34;, 0, 0, &#34;&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027411"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027412"> status = lefwEndMacro(&#34;DFF5&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027413"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027414">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027415"> status = lefwStartMacro(&#34;DFF6&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027416"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027417"> status = lefwMacroClass(&#34;BLOCK&#34;, &#34;BLACKBOX&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027418"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027419"> status = lefwMacroForeignStr(&#34;DFF3S&#34;, 0, 0, &#34;&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027420"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027421"> status = lefwEndMacro(&#34;DFF6&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027422"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027423">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027424"> status = lefwStartMacro(&#34;DFF7&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027425"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027426"> status = lefwMacroClass(&#34;PAD&#34;, &#34;AREAIO&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027427"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027428"> status = lefwMacroForeignStr(&#34;DFF3S&#34;, 0, 0, &#34;&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027429"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027430"> status = lefwEndMacro(&#34;DFF7&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027431"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027432">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027433"> status = lefwStartMacro(&#34;DFF8&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027434"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027435"> status = lefwMacroClass(&#34;BLOCK&#34;, &#34;SOFT&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027436"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027437"> status = lefwEndMacro(&#34;DFF8&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027438"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027439">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027440"> status = lefwStartMacro(&#34;DFF9&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027441"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027442"> status = lefwMacroClass(&#34;CORE&#34;, &#34;WELLTAP&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027443"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027444"> status = lefwEndMacro(&#34;DFF9&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027445"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027446">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027447"> status = lefwStartMacro(&#34;myTest&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027448"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027449"> status = lefwMacroClass(&#34;CORE&#34;, NULL);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027450"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027451"> status = lefwMacroSize(10.0, 14.0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027452"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027453"> status = lefwMacroSymmetry(&#34;X&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027454"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027455"> status = lefwMacroSitePatternStr(&#34;Fsite&#34;, 0, 0, &#34;N&#34;, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027456"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027457"> status = lefwMacroSitePatternStr(&#34;Fsite&#34;, 0, 7.0, &#34;FS&#34;, 30, 3, 2, 2);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027458"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027459"> status = lefwMacroSitePatternStr(&#34;Fsite&#34;, 4.0, 0, &#34;N&#34;, 0, 0, 0, 0);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027460"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027461"> status = lefwEndMacro(&#34;myTest&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027462"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027463">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027464"> &#47;&#47; ANTENNA, this will generate error for 5.4 since I already have ANTENNA</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027465"> &#47;&#47; somewhere</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027466"> status = lefwAntenna(&#34;INPUTPINANTENNASIZE&#34;, 1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027467"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027468"> status = lefwAntenna(&#34;OUTPUTPINANTENNASIZE&#34;, &#45;1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027469"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027470"> status = lefwAntenna(&#34;INOUTPINANTENNASIZE&#34;, &#45;1);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027471"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027472"> status = lefwNewLine();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027473"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027474">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027475"> &#47;&#47; BEGINEXT</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027476"> status = lefwStartBeginext(&#34;SIGNATURE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027477"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027478"> lefwAddIndent();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027479"> status = lefwBeginextCreator(&#34;CADENCE&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027480"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027481"> status = lefwEndBeginext();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027482"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027483">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027484"> status = lefwEnd();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027485"> CHECK_STATUS(status);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027486">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027487"> lineNum = lefwCurrentLineNumber();</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027488"> if (lineNum == 0)</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027489"> fprintf(stderr, &#34;ERROR: Nothing has been written!!!\n&#34;);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027490">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027491"> fclose(fout);</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027492">&nbsp;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027493"> return 0;</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027494">}</a></font>
</p>
<p>
<font size="2" face="&quot;Courier New&quot;" color="#000000"><a name="1027495">&nbsp;</a></font>
</p>
</div>
<br>
<a href="#pagetop">Return to top of page</a>
<hr>
<hr align="left">
<div style="text-align: left;">
<!-- Begin Buttons -->
<table width="650" cellpadding="0" cellspacing="0" border="0">
<tr>
<td height="20" width="59">
<a href="javascript:openLibrary()"><img src="../support/nav2_library.gif" border="0" alt="View Library" height="20" width="59"></a>
</td>
<td height="20" width="73">
<a href="lefapiTOC.html"><img src="../support/nav2_toc.gif" alt="Table of Contents" border="0"></a>
</td>
<td height="20" width="46">
<img src="../support/nav2_index_b.gif" border="0">
</td>
<td>
<a href="ch8lefdiff.html"><img src="images/nav2_previous.gif" alt="Previous" border="0"></a>
</td>
<td height="20">
<img src="images/nav2_next_b.gif" alt="Previous">
</td>
<td>
<a>
<a href="lefapi.pdf"><img src="../support/nav2_print.gif" border="0" alt="Open PDF to print book" height="20" width="114"></a>
</a>
</td>
<td height="20" width="59">
<img src="images/nav_next_b.gif" alt="Next" border="0">
</td>
<td height="20" width="61">
<img src="../support/nav2_black.gif" border="0" height="20" width="76">
</td>
<td height="20" width="76">
<a href="/feedback.htm"><img src="../support/nav2_feedback.gif" border="0" alt="Email Comments" height="20" width="76"></a>
</td>
<td height="20" width="43">
<a href="../cdsuser/help.html"><img src="../support/nav2_help.gif" border="0" alt="Help Using Documentation" height="20" width="43"></a>
</td>
<td height="20" width="37">
<a href="/exitsearch.htm"><img src="../support/nav2_exit.gif" border="0" alt="Shut Down Cadence Documentation Server" height="20" width="37"></a>
</td>
</tr>
</table>
<!-- End Buttons -->
</div>
<br>
<font size="-1" >
For support, see <a href="http://support.cadence.com" target="_blank">Cadence Online Support</a> service.</font>
<br>
<br>
<font size="-1" >
<font size="-1"><i>Copyright &#169; 2016, <a href ="http://www.cadence.com">Cadence Design Systems, Inc.</a></i></font>
</font>
<br>
<font size="-1" >
All rights reserved.</font>
<br>
<br>
</body>
</html>