<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">--- src/Mshichmanhodgesmosfet.cc.orig	2020-12-19 16:05:06.000000000 -0600
+++ src/Mshichmanhodgesmosfet.cc	2020-12-19 16:26:47.000000000 -0600
@@ -123,7 +123,7 @@
   double vb   = extvar(3); // V-bulk
   double T    = extvar(4); // Temperature
 
-  double k    = mu0*Cox*pow((T + Tshift)/300.0,-3.0/2.0)*W/L;
+  double k    = mu0*Cox*std::pow((T + Tshift)/300.0,-3.0/2.0)*W/L;
   double dkdT = mu0*Cox*W*(-3.0/2)*std::pow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L;
   
   double vgs  = vg - vs;
@@ -138,10 +138,10 @@
     }  
   else if ( ( (vgs-Vth)&gt;= vds ) &amp;&amp; (vds&gt;=0))
     {
-      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2)/2 ) + vds/rd;
+      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2.0)/2 ) + vds/rd;
       *gm   = k*vds;
       *gd   = k*(vgs-Vth-vds) + (1/rd);
-      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2))/2);
+      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2.0))/2);
     }  
   else if (((vgs-Vth)&gt;=(vds))&amp;&amp;(vds&lt;0))
     {  
@@ -152,10 +152,10 @@
     }  
   else // (i.e. if 0 &lt;= vgs-vth &lt;= vds)
     {  
-      *ids = (k/2)*std::pow((vgs-Vth),2) + vds/rd;
+      *ids = (k/2)*std::pow((vgs-Vth),2.0) + vds/rd;
       *gm  = k*(vgs-Vth);
       *gd  = 1/rd;
-      *didT= (dkdT/(2))*std::pow((vgs-Vth),2);
+      *didT= (dkdT/(2))*std::pow((vgs-Vth),2.0);
     }  
 
   *P       = -(*ids)*vds;
@@ -192,10 +192,10 @@
     }  
   else if ( ( (vgs-Vth)&lt;= vds ) &amp;&amp; (vds&lt;=0))
     {
-      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2)/2 ) + vds/rd;
+      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2.0)/2 ) + vds/rd;
       *gm   = k*vds;
       *gd   = k*(vgs-Vth-vds) + (1/rd);
-      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2))/2);
+      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2.0))/2);
     }  
   else if (((vgs-Vth)&lt;=(vds))&amp;&amp;(vds&gt;0))
     {  
@@ -206,10 +206,10 @@
     }  
   else // (i.e. if 0 &lt;= vgs-vth &lt;= vds)
     {  
-      *ids = (k/2)*std::pow((vgs-Vth),2) + vds/rd;
+      *ids = (k/2)*std::pow((vgs-Vth),2.0) + vds/rd;
       *gm  = k*(vgs-Vth);
       *gd  = 1/rd;
-      *didT= (dkdT/(2))*std::pow((vgs-Vth),2);
+      *didT= (dkdT/(2))*std::pow((vgs-Vth),2.0);
     }  
 
   *P       = -(*ids)*vds;
@@ -319,7 +319,7 @@
   if (args(1).length() == args(2).length())
     {
       parameters     = args(1).column_vector_value();
-      parameternames = args(2).all_strings();
+      parameternames = args(2).string_vector_value();
     }
   else
     error("Mshichmanhodgesmosfet: parameters and parameternames are expected to have the same length.\n");
@@ -329,7 +329,7 @@
   else
     error("Mshichmanhodgesmosfet: five external values expected.\n");
   // Internal variables
-  if (args(4).is_empty())
+  if (args(4).isempty())
     {}
   else if (args(4).length() == 5)
     intvar = args(4).column_vector_value();
</pre></body></html>