Skip to content

Commit 58e48ad

Browse files
committed
Add implicit operator float(NDArray nd) for scalar value.
Add Single type string format. Simplify element index for Data.
1 parent 5a634f5 commit 58e48ad

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/NumSharp.Core/Casting/Implicit/NdArray.Implicit.ValueTypes.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ namespace NumSharp.Core
3030
{
3131
public partial class NDArray
3232
{
33+
public static implicit operator float(NDArray nd)
34+
{
35+
if (nd.ndim > 0)
36+
throw new IncorrectShapeException();
37+
38+
return nd.Data<float>(0);
39+
}
40+
3341
public static implicit operator NDArray(float d)
3442
{
3543
var ndArray = new NDArray(typeof(float), new int[0]);

src/NumSharp.Core/Casting/NdArray.ToString.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ public override string ToString()
2121
case "Int32":
2222
output = Data<int>()[0].ToString();
2323
break;
24+
case "Single":
25+
output = Data<float>()[0].ToString();
26+
break;
2427
case "Double":
2528
output = Data<double>()[0].ToString();
2629
break;

src/NumSharp.Core/NdArray.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public partial class NDArray : ICloneable
6666
/// <returns></returns>
6767
public T[] Data<T>() => Storage.GetData<T>();
6868

69+
public T Data<T>(int index) => Storage.GetData<T>()[index];
70+
6971
public Array Data() => Storage.GetData(dtype);
7072

7173
/// <summary>

0 commit comments

Comments
 (0)