public static double Force_Calc(double r) { ulong abs_r = Funcs.FromDouble(Math.Abs(r)); ulong abs_sigma = Funcs.FromDouble(Math.Abs(SIGMA)); ulong ln_r = Funcs.FromDouble((double)Math.Log(Funcs.FromUlong(abs_r))); ulong ln_sigma = Funcs.FromDouble((double)Math.Log(Funcs.FromUlong(abs_sigma))); ulong mul_12 = Funcs.FromDouble(12 * Funcs.FromUlong(ln_sigma)); ulong mul_6 = Funcs.FromDouble(6 * Funcs.FromUlong(ln_sigma)); ulong mul_14 = Funcs.FromDouble(14 * Funcs.FromUlong(ln_r)); ulong mul_8 = Funcs.FromDouble(8 * Funcs.FromUlong(ln_r)); ulong exp_12 = Funcs.FromDouble((double)Math.Exp(Funcs.FromUlong(mul_12))); ulong exp_6 = Funcs.FromDouble((double)Math.Exp(Funcs.FromUlong(mul_6))); ulong exp_14 = Funcs.FromDouble((double)Math.Exp(Funcs.FromUlong(mul_14))); ulong exp_8 = Funcs.FromDouble((double)Math.Exp(Funcs.FromUlong(mul_8))); ulong div_12_14 = Funcs.FromDouble(Funcs.FromUlong(exp_12) / Funcs.FromUlong(exp_14)); ulong div_6_8 = Funcs.FromDouble(Funcs.FromUlong(exp_6) / Funcs.FromUlong(exp_8)); ulong mul_epsilon_12_14 = Funcs.FromDouble(EPSILON * Funcs.FromUlong(div_12_14)); ulong mul_epsilon_6_8 = Funcs.FromDouble(EPSILON * Funcs.FromUlong(div_6_8)); ulong mul_48 = Funcs.FromDouble(48 * Funcs.FromUlong(mul_epsilon_12_14)); ulong mul_24 = Funcs.FromDouble(24 * Funcs.FromUlong(mul_epsilon_6_8)); ulong min = Funcs.FromDouble(Funcs.FromUlong(mul_48) - Funcs.FromUlong(mul_24)); double force_result = Funcs.FromUlong(min); // double force_result = (48 * EPSILON * ((double) Math.Exp((double)Math.Log(Math.Abs(SIGMA)) * 12) / (double) Math.Exp((double)Math.Log(Math.Abs(r)) * 14))) - (24 * EPSILON * ((double) Math.Exp((double)Math.Log(Math.Abs(SIGMA)) * 6) / (double) Math.Exp((double)Math.Log(Math.Abs(r)) * 8))); return(force_result); }
protected override void OnTick() { if (input.valid) { double double_input = Funcs.FromUlong(input.val); double double_output = Math.Sqrt(double_input); output.val = Funcs.FromDouble(double_output); output.valid = true; } else { output.valid = false; } }
protected override void OnTick() { if (input.valid) { double double_val = Funcs.FromUlong(input.val); double double_result = (double)Math.Log(double_val); output.val = Funcs.FromDouble(double_result); output.valid = true; } else { output.valid = false; } }
protected override void OnTick() { if (minuend.valid && subtrahend.valid) { double double_minuend = Funcs.FromUlong(minuend.val); double double_subtrahend = Funcs.FromUlong(subtrahend.val); double double_difference = double_minuend - double_subtrahend; difference.val = Funcs.FromDouble(double_difference); difference.valid = true; } else { difference.valid = false; } }
protected override void OnTick() { if (augend.valid && addend.valid) { double double_augend = Funcs.FromUlong(augend.val); double double_addend = Funcs.FromUlong(addend.val); double double_sum = double_augend + double_addend; sum.val = Funcs.FromDouble(double_sum); sum.valid = true; } else { sum.valid = false; } }
protected override void OnTick() { if (divident.valid && divisor.valid) { double double_divident = Funcs.FromUlong(divident.val); double double_divisor = Funcs.FromUlong(divisor.val); double double_quotient = double_divident / double_divisor; quotient.val = Funcs.FromDouble(double_quotient); quotient.valid = true; } else { quotient.valid = false; } }
protected override void OnTick() { if (multiplicant.valid && multiplier.valid) { double double_multiplicant = Funcs.FromUlong(multiplicant.val); double double_multiplier = Funcs.FromUlong(multiplier.val); double double_product = double_multiplicant * double_multiplier; product.val = Funcs.FromDouble(double_product); product.valid = true; } else { product.valid = false; } }