@@ -735,7 +735,7 @@ function float{T}(A::AbstractArray{T})
735
735
convert (AbstractArray{typeof (float (zero (T)))}, A)
736
736
end
737
737
738
- for fn in (:float ,:big )
738
+ for fn in (:float ,)
739
739
@eval begin
740
740
$ fn (r:: StepRange ) = $ fn (r. start): $ fn (r. step): $ fn (last (r))
741
741
$ fn (r:: UnitRange ) = $ fn (r. start): $ fn (last (r))
@@ -748,5 +748,13 @@ for fn in (:float,:big)
748
748
end
749
749
end
750
750
751
- big {T<:AbstractFloat,N} (x:: AbstractArray{T,N} ) = convert (AbstractArray{BigFloat,N}, x)
752
- big {T<:Integer,N} (x:: AbstractArray{T,N} ) = convert (AbstractArray{BigInt,N}, x)
751
+ # big, broadcast over arrays
752
+ # TODO : do the definitions below primarily pertaining to integers belong in float.jl?
753
+ function big end # no prior definitions of big in sysimg.jl, necessitating this
754
+ broadcast (:: typeof (big), r:: UnitRange ) = big (r. start): big (last (r))
755
+ broadcast (:: typeof (big), r:: StepRange ) = big (r. start): big (r. step): big (last (r))
756
+ broadcast (:: typeof (big), r:: FloatRange ) = FloatRange (big (r. start), big (r. step), r. len, big (r. divisor))
757
+ function broadcast (:: typeof (big), r:: LinSpace )
758
+ big (r. len) == r. len || throw (ArgumentError (string (r, " : too long for " , big)))
759
+ LinSpace (big (r. start), big (r. stop), big (r. len), big (r. divisor))
760
+ end
0 commit comments