changeset 12676:a8f02c1adca6 octave-forge

work around clang bug
author cdf
date Mon, 17 Aug 2015 17:02:20 +0000
parents eda752bd797a
children e083820799fe
files extra/ocs/src/Mshichmanhodgesmosfet.cc
diffstat 1 files changed, 11 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/extra/ocs/src/Mshichmanhodgesmosfet.cc	Mon Aug 17 16:55:45 2015 +0000
+++ b/extra/ocs/src/Mshichmanhodgesmosfet.cc	Mon Aug 17 17:02:20 2015 +0000
@@ -124,7 +124,7 @@
   double T    = extvar(4); // Temperature
 
   double k    = mu0*Cox*pow((T + Tshift)/300.0,-3.0/2.0)*W/L;
-  double dkdT = mu0*Cox*W*(-3.0/2)*xpow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/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;
   double vds  = vd - vs;
@@ -138,10 +138,10 @@
     }  
   else if ( ( (vgs-Vth)>= vds ) && (vds>=0))
     {
-      *ids  = k*((vgs-Vth)*vds - xpow(vds,2)/2 ) + vds/rd;
+      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2)/2 ) + vds/rd;
       *gm   = k*vds;
       *gd   = k*(vgs-Vth-vds) + (1/rd);
-      *didT = dkdT*((vgs-Vth)*vds-(xpow(vds,2))/2);
+      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2))/2);
     }  
   else if (((vgs-Vth)>=(vds))&&(vds<0))
     {  
@@ -152,10 +152,10 @@
     }  
   else // (i.e. if 0 <= vgs-vth <= vds)
     {  
-      *ids = (k/2)*xpow((vgs-Vth),2) + vds/rd;
+      *ids = (k/2)*std::pow((vgs-Vth),2) + vds/rd;
       *gm  = k*(vgs-Vth);
       *gd  = 1/rd;
-      *didT= (dkdT/(2))*xpow((vgs-Vth),2);
+      *didT= (dkdT/(2))*std::pow((vgs-Vth),2);
     }  
 
   *P       = -(*ids)*vds;
@@ -177,8 +177,8 @@
   double vb   = extvar(3); // V-bulk
   double T    = extvar(4); // Temperature
 
-  double k    = - mu0*Cox*xpow((T + Tshift)/300.0,-3.0/2.0)*W/L;
-  double dkdT = - mu0*Cox*W*(-3.0/2.0)*xpow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/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.0)*std::pow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L;
 
   double vgs  = vg - vs;
   double vds  = vd - vs;
@@ -192,10 +192,10 @@
     }  
   else if ( ( (vgs-Vth)<= vds ) && (vds<=0))
     {
-      *ids  = k*((vgs-Vth)*vds - xpow(vds,2)/2 ) + vds/rd;
+      *ids  = k*((vgs-Vth)*vds - std::pow(vds,2)/2 ) + vds/rd;
       *gm   = k*vds;
       *gd   = k*(vgs-Vth-vds) + (1/rd);
-      *didT = dkdT*((vgs-Vth)*vds-(xpow(vds,2))/2);
+      *didT = dkdT*((vgs-Vth)*vds-(std::pow(vds,2))/2);
     }  
   else if (((vgs-Vth)<=(vds))&&(vds>0))
     {  
@@ -206,10 +206,10 @@
     }  
   else // (i.e. if 0 <= vgs-vth <= vds)
     {  
-      *ids = (k/2)*xpow((vgs-Vth),2) + vds/rd;
+      *ids = (k/2)*std::pow((vgs-Vth),2) + vds/rd;
       *gm  = k*(vgs-Vth);
       *gd  = 1/rd;
-      *didT= (dkdT/(2))*xpow((vgs-Vth),2);
+      *didT= (dkdT/(2))*std::pow((vgs-Vth),2);
     }  
 
   *P       = -(*ids)*vds;