Skip to content

Commit 9ac3674

Browse files
committed
Changed all usaged of System.Convert to NumSharpUtilities.Converts
This will increase performance, in some cases significantly.
1 parent 8d1787d commit 9ac3674

39 files changed

+3168
-3332
lines changed

src/NumSharp.Core/Backends/Default/Math/Default.Abs.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using DecimalMath;
3+
using NumSharp.Utilities;
34

45
namespace NumSharp.Backends
56
{
@@ -28,7 +29,7 @@ public override NDArray Abs(in NDArray nd, NPTypeCode? typeCode = null)
2829
{
2930
var out_addr = (#2*)@out.Address;
3031
for (int i = 0; i < len; i++)
31-
*(out_addr + i) = Convert.To#1(Math.Abs(*(out_addr + i)));
32+
*(out_addr + i) = Converts.To#1(Math.Abs(*(out_addr + i)));
3233

3334
return @out;
3435
}
@@ -48,79 +49,79 @@ public override NDArray Abs(in NDArray nd, NPTypeCode? typeCode = null)
4849
{
4950
var out_addr = (byte*)@out.Address;
5051
for (int i = 0; i < len; i++)
51-
*(out_addr + i) = Convert.ToByte(Math.Abs(*(out_addr + i)));
52+
*(out_addr + i) = Converts.ToByte(Math.Abs(*(out_addr + i)));
5253

5354
return @out;
5455
}
5556
case NPTypeCode.Int16:
5657
{
5758
var out_addr = (short*)@out.Address;
5859
for (int i = 0; i < len; i++)
59-
*(out_addr + i) = Convert.ToInt16(Math.Abs(*(out_addr + i)));
60+
*(out_addr + i) = Converts.ToInt16(Math.Abs(*(out_addr + i)));
6061

6162
return @out;
6263
}
6364
case NPTypeCode.UInt16:
6465
{
6566
var out_addr = (ushort*)@out.Address;
6667
for (int i = 0; i < len; i++)
67-
*(out_addr + i) = Convert.ToUInt16(Math.Abs(*(out_addr + i)));
68+
*(out_addr + i) = Converts.ToUInt16(Math.Abs(*(out_addr + i)));
6869

6970
return @out;
7071
}
7172
case NPTypeCode.Int32:
7273
{
7374
var out_addr = (int*)@out.Address;
7475
for (int i = 0; i < len; i++)
75-
*(out_addr + i) = Convert.ToInt32(Math.Abs(*(out_addr + i)));
76+
*(out_addr + i) = Converts.ToInt32(Math.Abs(*(out_addr + i)));
7677

7778
return @out;
7879
}
7980
case NPTypeCode.UInt32:
8081
{
8182
var out_addr = (uint*)@out.Address;
8283
for (int i = 0; i < len; i++)
83-
*(out_addr + i) = Convert.ToUInt32(Math.Abs(*(out_addr + i)));
84+
*(out_addr + i) = Converts.ToUInt32(Math.Abs(*(out_addr + i)));
8485

8586
return @out;
8687
}
8788
case NPTypeCode.Int64:
8889
{
8990
var out_addr = (long*)@out.Address;
9091
for (int i = 0; i < len; i++)
91-
*(out_addr + i) = Convert.ToInt64(Math.Abs(*(out_addr + i)));
92+
*(out_addr + i) = Converts.ToInt64(Math.Abs(*(out_addr + i)));
9293

9394
return @out;
9495
}
9596
case NPTypeCode.UInt64:
9697
{
9798
var out_addr = (ulong*)@out.Address;
9899
for (int i = 0; i < len; i++)
99-
*(out_addr + i) = Convert.ToUInt64(Math.Abs((double) *(out_addr + i)));
100+
*(out_addr + i) = Converts.ToUInt64(Math.Abs((double) *(out_addr + i)));
100101

101102
return @out;
102103
}
103104
case NPTypeCode.Char:
104105
{
105106
var out_addr = (char*)@out.Address;
106107
for (int i = 0; i < len; i++)
107-
*(out_addr + i) = Convert.ToChar(Math.Abs(*(out_addr + i)));
108+
*(out_addr + i) = Converts.ToChar(Math.Abs(*(out_addr + i)));
108109

109110
return @out;
110111
}
111112
case NPTypeCode.Double:
112113
{
113114
var out_addr = (double*)@out.Address;
114115
for (int i = 0; i < len; i++)
115-
*(out_addr + i) = Convert.ToDouble(Math.Abs(*(out_addr + i)));
116+
*(out_addr + i) = Converts.ToDouble(Math.Abs(*(out_addr + i)));
116117

117118
return @out;
118119
}
119120
case NPTypeCode.Single:
120121
{
121122
var out_addr = (float*)@out.Address;
122123
for (int i = 0; i < len; i++)
123-
*(out_addr + i) = Convert.ToSingle(Math.Abs(*(out_addr + i)));
124+
*(out_addr + i) = Converts.ToSingle(Math.Abs(*(out_addr + i)));
124125

125126
return @out;
126127
}

src/NumSharp.Core/Backends/Default/Math/Default.Cos.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using DecimalMath;
3+
using NumSharp.Utilities;
34

45
namespace NumSharp.Backends
56
{
@@ -25,7 +26,7 @@ public override NDArray Cos(in NDArray nd, NPTypeCode? typeCode = null)
2526
{
2627
var out_addr = (#2*)@out.Address;
2728
for (int i = 0; i < len; i++)
28-
*(out_addr + i) = Convert.To#1(Math.Cos(*(out_addr + i)));
29+
*(out_addr + i) = Converts.To#1(Math.Cos(*(out_addr + i)));
2930

3031
return @out;
3132
}
@@ -45,79 +46,79 @@ public override NDArray Cos(in NDArray nd, NPTypeCode? typeCode = null)
4546
{
4647
var out_addr = (byte*)@out.Address;
4748
for (int i = 0; i < len; i++)
48-
*(out_addr + i) = Convert.ToByte(Math.Cos(*(out_addr + i)));
49+
*(out_addr + i) = Converts.ToByte(Math.Cos(*(out_addr + i)));
4950

5051
return @out;
5152
}
5253
case NPTypeCode.Int16:
5354
{
5455
var out_addr = (short*)@out.Address;
5556
for (int i = 0; i < len; i++)
56-
*(out_addr + i) = Convert.ToInt16(Math.Cos(*(out_addr + i)));
57+
*(out_addr + i) = Converts.ToInt16(Math.Cos(*(out_addr + i)));
5758

5859
return @out;
5960
}
6061
case NPTypeCode.UInt16:
6162
{
6263
var out_addr = (ushort*)@out.Address;
6364
for (int i = 0; i < len; i++)
64-
*(out_addr + i) = Convert.ToUInt16(Math.Cos(*(out_addr + i)));
65+
*(out_addr + i) = Converts.ToUInt16(Math.Cos(*(out_addr + i)));
6566

6667
return @out;
6768
}
6869
case NPTypeCode.Int32:
6970
{
7071
var out_addr = (int*)@out.Address;
7172
for (int i = 0; i < len; i++)
72-
*(out_addr + i) = Convert.ToInt32(Math.Cos(*(out_addr + i)));
73+
*(out_addr + i) = Converts.ToInt32(Math.Cos(*(out_addr + i)));
7374

7475
return @out;
7576
}
7677
case NPTypeCode.UInt32:
7778
{
7879
var out_addr = (uint*)@out.Address;
7980
for (int i = 0; i < len; i++)
80-
*(out_addr + i) = Convert.ToUInt32(Math.Cos(*(out_addr + i)));
81+
*(out_addr + i) = Converts.ToUInt32(Math.Cos(*(out_addr + i)));
8182

8283
return @out;
8384
}
8485
case NPTypeCode.Int64:
8586
{
8687
var out_addr = (long*)@out.Address;
8788
for (int i = 0; i < len; i++)
88-
*(out_addr + i) = Convert.ToInt64(Math.Cos(*(out_addr + i)));
89+
*(out_addr + i) = Converts.ToInt64(Math.Cos(*(out_addr + i)));
8990

9091
return @out;
9192
}
9293
case NPTypeCode.UInt64:
9394
{
9495
var out_addr = (ulong*)@out.Address;
9596
for (int i = 0; i < len; i++)
96-
*(out_addr + i) = Convert.ToUInt64(Math.Cos(*(out_addr + i)));
97+
*(out_addr + i) = Converts.ToUInt64(Math.Cos(*(out_addr + i)));
9798

9899
return @out;
99100
}
100101
case NPTypeCode.Char:
101102
{
102103
var out_addr = (char*)@out.Address;
103104
for (int i = 0; i < len; i++)
104-
*(out_addr + i) = Convert.ToChar(Math.Cos(*(out_addr + i)));
105+
*(out_addr + i) = Converts.ToChar(Math.Cos(*(out_addr + i)));
105106

106107
return @out;
107108
}
108109
case NPTypeCode.Double:
109110
{
110111
var out_addr = (double*)@out.Address;
111112
for (int i = 0; i < len; i++)
112-
*(out_addr + i) = Convert.ToDouble(Math.Cos(*(out_addr + i)));
113+
*(out_addr + i) = Converts.ToDouble(Math.Cos(*(out_addr + i)));
113114

114115
return @out;
115116
}
116117
case NPTypeCode.Single:
117118
{
118119
var out_addr = (float*)@out.Address;
119120
for (int i = 0; i < len; i++)
120-
*(out_addr + i) = Convert.ToSingle(Math.Cos(*(out_addr + i)));
121+
*(out_addr + i) = Converts.ToSingle(Math.Cos(*(out_addr + i)));
121122

122123
return @out;
123124
}

src/NumSharp.Core/Backends/Default/Math/Default.Cosh.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
2+
using NumSharp.Utilities;
33
namespace NumSharp.Backends
44
{
55
public partial class DefaultEngine
@@ -24,7 +24,7 @@ public override NDArray Cosh(in NDArray nd, NPTypeCode? typeCode = null)
2424
{
2525
var out_addr = (#2*)@out.Address;
2626
for (int i = 0; i < len; i++)
27-
*(out_addr + i) = Convert.To#1(Math.Cosh(*(out_addr + i)));
27+
*(out_addr + i) = Converts.To#1(Math.Cosh(*(out_addr + i)));
2828

2929
return @out;
3030
}
@@ -33,7 +33,7 @@ public override NDArray Cosh(in NDArray nd, NPTypeCode? typeCode = null)
3333
{
3434
var out_addr = (decimal*)@out.Address;
3535
for (int i = 0; i < len; i++)
36-
*(out_addr + i) = (decimal)(Math.Cosh(Convert.ToDouble(*(out_addr + i))));
36+
*(out_addr + i) = (decimal)(Math.Cosh(Converts.ToDouble(*(out_addr + i))));
3737

3838
return @out;
3939
}
@@ -44,87 +44,87 @@ public override NDArray Cosh(in NDArray nd, NPTypeCode? typeCode = null)
4444
{
4545
var out_addr = (byte*)@out.Address;
4646
for (int i = 0; i < len; i++)
47-
*(out_addr + i) = Convert.ToByte(Math.Cosh(*(out_addr + i)));
47+
*(out_addr + i) = Converts.ToByte(Math.Cosh(*(out_addr + i)));
4848

4949
return @out;
5050
}
5151
case NPTypeCode.Int16:
5252
{
5353
var out_addr = (short*)@out.Address;
5454
for (int i = 0; i < len; i++)
55-
*(out_addr + i) = Convert.ToInt16(Math.Cosh(*(out_addr + i)));
55+
*(out_addr + i) = Converts.ToInt16(Math.Cosh(*(out_addr + i)));
5656

5757
return @out;
5858
}
5959
case NPTypeCode.UInt16:
6060
{
6161
var out_addr = (ushort*)@out.Address;
6262
for (int i = 0; i < len; i++)
63-
*(out_addr + i) = Convert.ToUInt16(Math.Cosh(*(out_addr + i)));
63+
*(out_addr + i) = Converts.ToUInt16(Math.Cosh(*(out_addr + i)));
6464

6565
return @out;
6666
}
6767
case NPTypeCode.Int32:
6868
{
6969
var out_addr = (int*)@out.Address;
7070
for (int i = 0; i < len; i++)
71-
*(out_addr + i) = Convert.ToInt32(Math.Cosh(*(out_addr + i)));
71+
*(out_addr + i) = Converts.ToInt32(Math.Cosh(*(out_addr + i)));
7272

7373
return @out;
7474
}
7575
case NPTypeCode.UInt32:
7676
{
7777
var out_addr = (uint*)@out.Address;
7878
for (int i = 0; i < len; i++)
79-
*(out_addr + i) = Convert.ToUInt32(Math.Cosh(*(out_addr + i)));
79+
*(out_addr + i) = Converts.ToUInt32(Math.Cosh(*(out_addr + i)));
8080

8181
return @out;
8282
}
8383
case NPTypeCode.Int64:
8484
{
8585
var out_addr = (long*)@out.Address;
8686
for (int i = 0; i < len; i++)
87-
*(out_addr + i) = Convert.ToInt64(Math.Cosh(*(out_addr + i)));
87+
*(out_addr + i) = Converts.ToInt64(Math.Cosh(*(out_addr + i)));
8888

8989
return @out;
9090
}
9191
case NPTypeCode.UInt64:
9292
{
9393
var out_addr = (ulong*)@out.Address;
9494
for (int i = 0; i < len; i++)
95-
*(out_addr + i) = Convert.ToUInt64(Math.Cosh(*(out_addr + i)));
95+
*(out_addr + i) = Converts.ToUInt64(Math.Cosh(*(out_addr + i)));
9696

9797
return @out;
9898
}
9999
case NPTypeCode.Char:
100100
{
101101
var out_addr = (char*)@out.Address;
102102
for (int i = 0; i < len; i++)
103-
*(out_addr + i) = Convert.ToChar(Math.Cosh(*(out_addr + i)));
103+
*(out_addr + i) = Converts.ToChar(Math.Cosh(*(out_addr + i)));
104104

105105
return @out;
106106
}
107107
case NPTypeCode.Double:
108108
{
109109
var out_addr = (double*)@out.Address;
110110
for (int i = 0; i < len; i++)
111-
*(out_addr + i) = Convert.ToDouble(Math.Cosh(*(out_addr + i)));
111+
*(out_addr + i) = Converts.ToDouble(Math.Cosh(*(out_addr + i)));
112112

113113
return @out;
114114
}
115115
case NPTypeCode.Single:
116116
{
117117
var out_addr = (float*)@out.Address;
118118
for (int i = 0; i < len; i++)
119-
*(out_addr + i) = Convert.ToSingle(Math.Cosh(*(out_addr + i)));
119+
*(out_addr + i) = Converts.ToSingle(Math.Cosh(*(out_addr + i)));
120120

121121
return @out;
122122
}
123123
case NPTypeCode.Decimal:
124124
{
125125
var out_addr = (decimal*)@out.Address;
126126
for (int i = 0; i < len; i++)
127-
*(out_addr + i) = (decimal)(Math.Cosh(Convert.ToDouble(*(out_addr + i))));
127+
*(out_addr + i) = (decimal)(Math.Cosh(Converts.ToDouble(*(out_addr + i))));
128128

129129
return @out;
130130
}

0 commit comments

Comments
 (0)