本文整理汇总了C#中BigNumber类的典型用法代码示例。如果您正苦于以下问题:C# BigNumber类的具体用法?C# BigNumber怎么用?C# BigNumber使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BigNumber类属于命名空间,在下文中一共展示了BigNumber类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: Sqrt
/// <summary>开方</summary>
static internal BigNumber Sqrt(BigNumber value, int precision) {
if (!value.IsPlus)
throw new ExpressionException("只有正数才有开平方运算");
List<int> div = new List<int>();
int index = 0;
int resultIntCount = (value.IntPart.Count + 1) / 2;
List<int> result = GetFirstDiv(value, ref div, ref index);
div = FirstTry(result, div);
div.AddRange(GetNewTwoDiv(value, ref index));
BigCalculate.RemoveStartZero(div);
//考虑精度的计算
while (true) {
div = TryDiv(div, result);
if (result.Count - resultIntCount >= precision)
break;
div.AddRange(GetNewTwoDiv(value, ref index));
BigCalculate.RemoveStartZero(div);
}
return new BigNumber(result.GetRange(0, resultIntCount), result.GetRange(resultIntCount, result.Count - resultIntCount), true);
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_Advanced,代码行数:26,代码来源:DecimalCalculator.cs
示例2: Main
static void Main(string[] args)
{
BigNumber e = new BigNumber("1");
BigNumber[,] table = new BigNumber[3, 3] { { 52*e, 64*e, 24*e },{60*e,59*e,52*e},{50*e,65*e,74*e} };
Console.WriteLine(contingency(table));
Console.ReadKey();
}
开发者ID:Cg87521,项目名称:stats,代码行数:7,代码来源:Xsquare_Independence_test.cs
示例3: Quantile
static BigNumber Quantile(BigNumber[] NumberSeries, double quan)
{
int len = NumberSeries.Length;
double position = quan * (double)len;
position = Convert.ToDouble(round(position.ToString(), 0));
return NumberSeries[Convert.ToInt32(position - 1)];
}
开发者ID:JoshuaHe2015,项目名称:VISAP_Basic,代码行数:7,代码来源:MeanAndSort.cs
示例4: Minus
/// <summary>减</summary>
public static BigNumber Minus(BigNumber one, BigNumber two) {
BigNumber oneAbsolute = one.AbsoluteNumber;
BigNumber twoAbsolute = two.AbsoluteNumber;
//正数减正数
if (one.IsPlus && two.IsPlus) {
if (oneAbsolute.CompareTo(twoAbsolute) == 1)
return PlusMinus(one, two);
else if (oneAbsolute.CompareTo(twoAbsolute) == -1)
return PlusMinus(two, one).ReverseNumber;
else
return BigNumber.Zero;
}
//正数减负数
else if (one.IsPlus && !two.IsPlus) {
return PlusAdd(oneAbsolute, twoAbsolute);
}
//负数减正数
else if (!one.IsPlus && two.IsPlus) {
return PlusAdd(oneAbsolute, twoAbsolute).ReverseNumber;
}
//负数减负数
else if (!one.IsPlus && !two.IsPlus) {
return Add(one, twoAbsolute);
}
throw new Exception("不可能到达的地方");
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_GUI,代码行数:27,代码来源:BigCalculate.cs
示例5: Main
public static void Main(string[] args)
{
Console.WriteLine("请输入x的值,用逗号分开");
string numberseriesx = Console.ReadLine();
Console.WriteLine("请输入y的值,用逗号分开");
string numberlinresy = Console.ReadLine();
char[] separator = { ',' };
string[] numbersx = numberseriesx.Split(separator);
string[] numbersy = numberlinresy.Split(separator);
int n = numbersx.Length;
BigNumber[] x = new BigNumber[n];
BigNumber[] y = new BigNumber[n];
for (int i = 0; i < n; i++)
{
x[i] = new BigNumber(numbersx[i]);
}
for (int j = 0; j < n; j++)
{
y[j] = new BigNumber(numbersy[j]);
}
Console.WriteLine( Regression(x,y,n));
Console.ReadKey();
}
开发者ID:Cg87521,项目名称:stats,代码行数:25,代码来源:onevariable_regression.cs
示例6: Mode
//仅限于寻找有序数列中的众数
//多个众数时返回最小的众数
public static string Mode(BigNumber[] NumberSeries)
{
double MaxCount = 0;
double CurrentCount = 0;
BigNumber MaxNumber = new BigNumber("0");
BigNumber CurrentNumber = new BigNumber("0");
int len = NumberSeries.Length;
for (int i = 1; i < len; i++)
{
if (CompareNumber.Compare(NumberSeries[i - 1], NumberSeries[i]) == 0)
{
CurrentCount++;
if (CurrentCount > MaxCount)
{
MaxCount = CurrentCount;
MaxNumber = NumberSeries[i];
}
}
else
{
CurrentCount = 0;
}
}
if (MaxCount == 0)
{
return "NA";
}
else
{
return MaxNumber.ToString();
}
}
开发者ID:Yangruipis,项目名称:Genesis,代码行数:35,代码来源:MatCorr.cs
示例7: BigNum
public void BigNum()
{
var x = new BigNumber(9007199254740992);
Assert.Equal(@"{
""Number"": ""9007199254740992""
}", JsonObject.FromObject(x).ToString());
}
开发者ID:carbon,项目名称:Data,代码行数:8,代码来源:XSerializationTests.cs
示例8: LilNumber
public void LilNumber()
{
var x = new BigNumber(1);
Assert.Equal(@"{
""Number"": 1
}", JsonObject.FromObject(x).ToString());
}
开发者ID:carbon,项目名称:Data,代码行数:8,代码来源:XSerializationTests.cs
示例9: Regression
public static string Regression(BigNumber[] x,BigNumber[] y,int n)
{
BigNumber sumx = new BigNumber("0");
BigNumber sumy = new BigNumber("0");
BigNumber lxy = new BigNumber("0");
BigNumber lxx = new BigNumber("0");
BigNumber xbar, ybar, beta0, beta1;
for (int i = 0; i < n; i++)
{
sumx = sumx + x[i];
}
xbar = sumx / new BigNumber(x.Length.ToString());
for (int a = 0; a <= n-1; a++)
{
lxx = lxx + (x[a] - xbar).Power(new BigNumber("2"));
}
for (int i = 0; i <= n-1; i++)
{
sumy = sumy + y[i];
}
ybar = sumy / new BigNumber(y.Length.ToString());
for (int i = 0; i <= n-1; i++)
{
lxy = lxy + (x[i] - xbar) * (y[i] - ybar);
}
beta1 = lxy / lxx;
beta0 = ybar - beta1 * xbar;
BigNumber[] Ey = new BigNumber[n];
BigNumber[] residual = new BigNumber[n];
BigNumber SSR = new BigNumber("0");
BigNumber SSE = new BigNumber("0");
BigNumber Fvalue, Rsquare;
for (int i =0;i <= n-1; i++)
{
Ey[i] = beta0 + beta1 * x[i];
}
for (int i=0; i <= n-1;i++)
{
residual[i] = y[i] - Ey[i];
}
for (int i = 0; i <= n - 1; i++)
{
SSR = SSR + (Ey[i] - ybar).Power(new BigNumber("2"));
SSE = SSE + (y[i] - Ey[i]).Power(new BigNumber("2"));
}
Fvalue = SSR / SSE * (new BigNumber( n.ToString()) - new BigNumber("2"));
string f = Fvalue.ToString();
double F = Convert.ToDouble(f);
Rsquare = SSR / (SSR+SSE);
// BigNumber Fa = new BigNumber(Stat.FdistUa(0.05, 2,1).ToString());
//BigNumber FF =new BigNumber("1") / Fa;
BigNumber p = new BigNumber(Stat.FCDF(F, 1, 2).ToString());
return p.ToString()+" "+f;//+" "+ Fvalue.ToString();//"回归方程为:y=" + MathV.round(beta0.ToString(),3,0)+ "+" + MathV.round(beta1.ToString(),3,0) + "*x"+" Rsquare:"+MathV.round(Rsquare.ToString(),3,0)+" Fvalue:"+MathV.round(Fvalue.ToString(),3,0);
}
开发者ID:Cg87521,项目名称:stats,代码行数:57,代码来源:onevariable_regression.cs
示例10: Variance
//输入为BigNumber数组,返回为BigNumber值
//n - 1个自由度
public static BigNumber Variance(BigNumber[] NumberSeries)
{
BigNumber sum = new BigNumber("0");
int len = NumberSeries.Length;
BigNumber mean_series = Mean(NumberSeries);
foreach (BigNumber SingleNumber in NumberSeries)
{
sum += (SingleNumber - mean_series).Power(new BigNumber("2"), 30);
}
return sum / new BigNumber((len - 1).ToString());
}
开发者ID:Yangruipis,项目名称:Genesis,代码行数:13,代码来源:MatCorr.cs
示例11: test_ecdh_curve
private void test_ecdh_curve(Asn1Object obj, string text, BigNumber.Context ctx) {
Key a = Key.FromCurveName(obj);
Key b = Key.FromCurveName(obj);
BigNumber x_a = new BigNumber();
BigNumber y_a = new BigNumber();
BigNumber x_b = new BigNumber();
BigNumber y_b = new BigNumber();
try {
Console.Write("Testing key generation with {0}", text);
a.GenerateKey();
if (a.Group.Method.FieldType == Objects.NID.X9_62_prime_field.NID) {
a.PublicKey.GetAffineCoordinatesGFp(x_a, y_a, ctx);
}
else {
a.PublicKey.GetAffineCoordinatesGF2m(x_a, y_a, ctx);
}
Console.Write(".");
b.GenerateKey();
if (b.Group.Method.FieldType == Objects.NID.X9_62_prime_field.NID) {
b.PublicKey.GetAffineCoordinatesGFp(x_b, y_b, ctx);
}
else {
b.PublicKey.GetAffineCoordinatesGF2m(x_b, y_b, ctx);
}
Console.Write(".");
byte[] abuf = new byte[MessageDigest.SHA1.Size];
int aout = a.ComputeKey(b, abuf, KDF1_SHA1);
Console.Write(".");
byte[] bbuf = new byte[MessageDigest.SHA1.Size];
int bout = b.ComputeKey(a, bbuf, KDF1_SHA1);
Console.Write(".");
Assert.Greater(aout, 4);
Assert.AreEqual(aout, bout);
Assert.IsTrue(Compare(abuf, bbuf));
Console.Write(" ok");
}
finally {
a.Dispose();
b.Dispose();
x_a.Dispose();
y_a.Dispose();
x_b.Dispose();
y_b.Dispose();
}
Console.WriteLine();
}
开发者ID:Nangal,项目名称:http2-katana,代码行数:54,代码来源:TestECDH.cs
示例12: Mean
static BigNumber Mean(BigNumber[] NumberSeries)
{
BigNumber sum = new BigNumber("0");
foreach (BigNumber SingleNumber in NumberSeries)
{
sum += SingleNumber;
}
int len = NumberSeries.Length;
BigNumber len_bignumber = new BigNumber(len.ToString());
return sum / len_bignumber;
}
开发者ID:JoshuaHe2015,项目名称:VISAP_Basic,代码行数:11,代码来源:MeanAndSort.cs
示例13: Exp
/// <summary>e次幂</summary>
public static BigNumber Exp(BigNumber value, int precision) {
BigNumber sum = new BigNumber("0");
for (BigNumber n = new BigNumber("0"); ; n++) {
BigNumber r = BigNumber.Division(value.Power(n), n.Factorial(), precision + 1);
if (r.GetPrecision(0) > precision)
break;
sum = sum + r;
}
Remove(sum, precision);
return sum;
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_GUI,代码行数:14,代码来源:TaylorFunction.cs
示例14: ParaEasti
} //计算分位数值
static string ParaEasti(BigNumber[] NumberSeries, double significance, int tail, BigNumber goalnumber)
{
//总体均值的区间估计
//tail == 1单尾,为2则双尾
BigNumber n = new BigNumber(NumberSeries.Length.ToString());
if (tail == 2)
{
significance = significance / 2;
}
BigNumber lower = Proportion(NumberSeries, goalnumber)-new BigNumber(NORMSINV(significance).ToString())*(Proportion(NumberSeries, goalnumber) * (new BigNumber("1") - Proportion(NumberSeries, goalnumber)) / n).Power(new BigNumber("0.5"));
BigNumber upper = Proportion(NumberSeries, goalnumber)+new BigNumber(NORMSINV(significance).ToString())*(Proportion(NumberSeries, goalnumber) * (new BigNumber("1") - Proportion(NumberSeries, goalnumber)) / n).Power(new BigNumber("0.5"));
return lower.ToString() + "," + upper.ToString();
}
开发者ID:Cg87521,项目名称:stats,代码行数:14,代码来源:ztest_proportion.cs
示例15: Multiply
/// <summary> 乘 </summary>
public static BigNumber Multiply(BigNumber one, BigNumber two) {
List<int> oneText = new List<int>();
List<int> twoText = new List<int>();
oneText.AddRange(one.IntPart);
oneText.AddRange(one.DecimalPart);
twoText.AddRange(two.IntPart);
twoText.AddRange(two.DecimalPart);
List<int> resultText = Multiply(oneText, twoText);
int decimalLength = one.DecimalPart.Count + two.DecimalPart.Count;
List<int> intPart = resultText.GetRange(0, resultText.Count - decimalLength);
List<int> decimalPart = resultText.GetRange(resultText.Count - decimalLength, decimalLength);
return new BigNumber(intPart, decimalPart, !(one.IsPlus ^ two.IsPlus));
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_GUI,代码行数:15,代码来源:BigCalculate.cs
示例16: Division
internal static BigNumber Division(BigNumber one, BigNumber two, int precision) {
List<int> oneInt = new List<int>();
List<int> oneDecimal = new List<int>();
oneInt.AddRange(one.IntPart);
oneDecimal.AddRange(one.DecimalPart);
List<int> twoText = new List<int>();
twoText.AddRange(two.IntPart);
twoText.AddRange(two.DecimalPart);
RemoveStartZero(twoText);
//将15/2.3 移位为 150/23 //DecimalLength
for (int i = 0; i < two.DecimalPart.Count; i++) {
if (oneDecimal.Count != 0) {
oneInt.Add(oneDecimal[0]);
oneDecimal.RemoveAt(0);
} else {
oneInt.Add(0);
}
}
List<int> resultInt = new List<int>();
List<int> resultDecimal = new List<int>();
int index = twoText.Count < oneInt.Count ? twoText.Count - 1 : oneInt.Count - 1;
List<int> div = oneInt.GetRange(0, index + 1);
//正数部分的除法
while (true) {
resultInt.Add(Division(div, twoText));
div = IntMinus(div, Multiply(twoText, new List<int> { resultInt[resultInt.Count - 1] }), 0);
index++;
if (index >= oneInt.Count)
break;
div.Add(oneInt[index]);
}
index = 0;
//小数部分的除法
while (true) {
//满足精度后退出
if (resultDecimal.Count >= precision)
break;
if (index >= oneDecimal.Count)
div.Add(0);
else {
div.Add(oneDecimal[index]);
}
int r = Division(div, twoText);
resultDecimal.Add(r);
div = IntMinus(div, Multiply(twoText, new List<int> { r }), 0);
index++;
}
return new BigNumber(resultInt, resultDecimal, !(one.IsPlus ^ two.IsPlus));
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_GUI,代码行数:50,代码来源:BigCalculate.cs
示例17: Sort
static void Sort(int n, BigNumber[] NumberSeries)
{
BigNumber temp = new BigNumber("0");
if (n <= 1){
return;
}
for (int i = 0;i < n - 1;i++){
if (CompareNumber.Compare(NumberSeries[i] , NumberSeries[i+1]) == 1){
temp = NumberSeries[i +1];
NumberSeries[i + 1]= NumberSeries[i];
NumberSeries[i]=temp;
}
Sort(n - 1, NumberSeries);
}
}
开发者ID:JoshuaHe2015,项目名称:VISAP_Basic,代码行数:15,代码来源:MeanAndSort.cs
示例18: HT
static string HT(BigNumber H0, BigNumber[] NumberSeries, double significance, int tail, BigNumber goalnumber)
{
//Hypothesis Testing假设检验
string result = ParaEasti(NumberSeries, significance, tail, goalnumber);
char[] separator = { ',' };
string[] intervals = result.Split(separator);
BigNumber lower = new BigNumber(intervals[0]);
BigNumber upper = new BigNumber(intervals[1]);
if (tail == 2)
{
significance = significance / 2;
if (CompareNumber.Compare(lower, H0) == -1 && CompareNumber.Compare(upper, H0) == 1)
{
return "不拒绝原假设";
}
else
{
return "拒绝原假设";
}
}
else if (tail == -1)//左单尾
{
significance = significance / 1;
if (CompareNumber.Compare(lower, H0) == -1)
{
return "不拒绝原假设";
}
else
{
return "拒绝原假设";
}
}
else//右单尾
{
significance = significance / 1;
if (CompareNumber.Compare(upper, H0) == -1)
{
return "拒绝原假设";
}
else
{
return "不拒绝原假设";
}
}
}
开发者ID:Cg87521,项目名称:stats,代码行数:47,代码来源:ztest_proportion.cs
示例19: GetFirstDiv
/// <summary>获取第一个除数</summary>
static List<int> GetFirstDiv(BigNumber value, ref List<int> div, ref int index) {
//这里有待加入对0.02和0.002的考虑
if (value.IntPart.Count == 1 && value.IntPart[0] == 0) {
List<int> result = new List<int>();
result.Add(0);
while (true) {
if (value.DecimalPart[index] != 0) {
for (int i = 0; i < index / 2; i++) {
result.Add(0);
}
//0.005
if (index % 2 == 0) {
div.Add(value.DecimalPart[index]);
if (index + 1 < value.DecimalPart.Count) {
div.Add(value.DecimalPart[index + 1]);
} else {
div.Add(0);
}
}
//0.05
else {
div.Add(value.DecimalPart[index]);
}
index++;
break;
}
index++;
if (index == value.DecimalPart.Count)
break;
}
index++;
return result;
} else {
//如果是偶数则第一次取两位
if (value.IntPart.Count % 2 == 0) {
div = value.IntPart.GetRange(0, 2);
index = 2;
}
//是奇数则只取一位
else {
div = value.IntPart.GetRange(0, 1);
index = 1;
}
return new List<int>();
}
}
开发者ID:JoshuaHe2015,项目名称:VISAP2.0_Advanced,代码行数:47,代码来源:DecimalCalculator.cs
示例20: Proportion
static BigNumber Proportion(BigNumber[] NumberSeries,BigNumber goalnumber)
{ int n = NumberSeries.Length;
BigNumber count= new BigNumber("0");
BigNumber goal= new BigNumber(goalnumber.ToString());
for (int i = 0; i< n; i++ )
{
if (CompareNumber.Compare(NumberSeries[i],goal) == 0)
{
count = count + new BigNumber("1");
}
else
{
count = count + new BigNumber("0");
}
}
return count / new BigNumber(n.ToString());
}//计算目标样本比例p
开发者ID:Cg87521,项目名称:stats,代码行数:18,代码来源:ztest_proportion.cs
注:本文中的BigNumber类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论