- (void)updateConversionLabel:(UITextField *)textField
{
//Float for å få textfieldsene til nummer
double temprature = [tempratureText.text doubleValue] / 100;
double methane = [methaneText.text doubleValue] / 100;
double ethane = [ethaneText.text doubleValue] / 100;
double propane = [propaneText.text doubleValue] / 100;
double nbutane = [nbutaneText.text doubleValue] / 100;
double ibutane = [ibutaneText.text doubleValue] / 100;
double npentane = [npentaneText.text doubleValue] / 100;
double ipentane = [ipentaneText.text doubleValue] / 100;
double nhexane = [nhexaneText.text doubleValue] / 100;
double nitrogen = [nitrogenText.text doubleValue] / 100;
double oxygen = [oxygenText.text doubleValue] / 100;
double negTemp = 0 - temprature;
//Floats og formatters for underflow, overflow
double sum = (methane + ethane + propane + nbutane + ibutane + npentane + ipentane + nhexane + nitrogen + oxygen) * 100;
double overflowPart = -100.0 + sum;
double underflowPart = 100.0 - sum;
NSNumber *underFlow = [[NSNumber alloc]initWithDouble:underflowPart];
NSNumberFormatter *underFlowResult = [[NSNumberFormatter alloc] init];
underFlowResult.numberStyle = NSNumberFormatterDecimalStyle;
[underFlowResult setNumberStyle:NSNumberFormatterDecimalStyle];
[underFlowResult setMaximumFractionDigits:4];
NSString *formattedUnderFlow = [underFlowResult stringFromNumber:(NSNumber*)underFlow];
NSNumber *overFlow = [[NSNumber alloc]initWithDouble:overflowPart];
NSNumberFormatter *overFlowResult = [[NSNumberFormatter alloc] init];
overFlowResult.numberStyle = NSNumberFormatterDecimalStyle;
[overFlowResult setNumberStyle:NSNumberFormatterDecimalStyle];
[overFlowResult setMaximumFractionDigits:4];
NSString *formattedOverFlow = [overFlowResult stringFromNumber:(NSNumber*)overFlow];
//Floats for variabler til ligningen
double result = 5;
//Ligningen for å regne ut Vi DETTE ER Vi
double V_Methane = 0.00013587 *negTemp + 0.0600344222;
double V_Ethane = 0.0000846133 *negTemp + 0.0615095778;
double V_Prophane = 0.00009079333 *negTemp + 0.0770448222;
double V_nButan = 0.00009612 *negTemp + 0.0922712;
double V_iButan = 0.000100973 *negTemp + 0.09452962;
double V_nPentan = 0.0001053867 *negTemp + 0.1084497556;
double V_iPentan = 0.00010883 *negTemp + 0.1091473556;
double V_nHexan = 0.0001108667 *negTemp + 0.1226542222;
double V_Nitrogen = 0.0000165914718614718 *negTemp * negTemp + 0.00605352099567096
*negTemp + 0.590940545454541;
double V_Oxygen = 0.000193 *negTemp + 0.0625020;
//Ligningen for å regne ut density
double Mi[10] = {16.0426,30.064,44.0962,558.123,558.123,72.1498,72.1498,86.1766,28.0134,31.9988};
double Vi[10] = {V_Methane, V_Ethane,V_Prophane,V_nButan,V_iButan,V_nPentan,V_iPentan,V_nHexan,V_Nitrogen,V_Oxygen};
double fraction[10] = {methane, ethane, propane, nbutane, ibutane,npentane,ipentane,nhexane,nitrogen,oxygen};
//double resultTest[3];
//for (int i=0; i<3; ++i) resultTest[i] = static[i] * dynamic[i];
double miTimesFrac[10];
for (int i=0; i<10; ++i) miTimesFrac[i] = Mi[i] * fraction[i];
double miTimesVi[10];
for (int i=0; i<10; ++i) miTimesVi[i] = Mi[i] * Vi[i];
double TMiTimesVi = 0.0;
double TMiTimesFrac= 0.0;
for(unsigned int i=0; i<10; i++)
{
TMiTimesFrac+=miTimesFrac[i];
TMiTimesVi+=miTimesVi[i];
NSLog(@"Mi * Frac %f, Mi * Vi = %f",TMiTimesFrac, TMiTimesVi);
}
for (int i=0; i<10; ++i) NSLog(@"%f ", miTimesFrac[i]);
//=RESULT=
/*----------STREK FORDI DET ER CHILL OG JEG ER FERDIG MED FLOATER----------*/
NSString *resultTilGlobal = [[NSString alloc]initWithFormat:@"%.4f",result];
NSString *resultString = [[NSString alloc]initWithFormat:@"D = %f",result];
NSString *overflowString = [[NSString alloc]initWithFormat:@"Total %@ greater than 100 %%", formattedOverFlow];
NSString *underflowString = [[NSString alloc]initWithFormat:@"Total %@ less than 100 %%", formattedUnderFlow];
/*----------STREK FORDI DET ER CHILL OG JEG ER FERDIG MED STRINGS----------*/
[[NSUserDefaults standardUserDefaults] setObject:resultTilGlobal
forKey:@"globalMathString"];
/*----------STREK FORDI DET ER CHILL OG JEG ER FERDIG MED DATA MANAGMENT----------*/
if (underflowPart == 100.0)
{
outputText.text = @"Start by entering values above";
}
if (sum == 100.0)
{
outputText.text = resultString;
}
if (sum > 100.0)
{
outputText.text = overflowString;
}
if (sum < 100.0)
{
outputText.text = underflowString;
}
if (negTemp == 0 && methane == 0 && ethane == 0 && propane == 0 && nbutane == 0 && ibutane == 0 && oxygen == 0 && npentane == 0 && ipentane == 0 && nhexane == 0 && nitrogen == 0)
{
outputText.text = @"Start by entering values above";
}
/*----------STREK FORDI DET ER CHILL OG JEG ER FERDIG MED 'if'----------*/
}