You all make good points. It's why I didn't suggest changing SetLength
because of the well-defined and safe behaviour, and yes, the System unit
is already crowded with intrinsics, and will become even more crowded
once the naming format of the assembly intrinsics are finalised. The
optional parameter (or a new intrinsic) wouldn't change anything that
already exists, and can be documented.
I'm willing to settle with SetLength(array, len, ... len, NoInit:
Boolean = False), but of course it depends on the overall support for
it, which isn't looking too promising currently!
Gareth aka. Kit
On 15/09/2020 10:11, Sven Barth wrote:
J. Gareth Moreton via fpc-devel <fpc-devel@lists.freepascal.org
<mailto:fpc-devel@lists.freepascal.org>> schrieb am Mo., 14. Sep.
2020, 19:00:
With all this in mind, would there be support for an intrinsic
such as
"SetLengthNoInit" or "SetLengthNoClear" or some similar name that has
all the benefits of SetLength (especially the reference counting) but
doesn't initialise new elements to zero? If I'm learning one
thing, Free
Pascal is finding a niche in some scientific applications, and
speed can
be essential sometimes.
I'm against adding support for this. Dynamic arrays have guaranteed
behavior. If users find that this behavior is not appropriate for
their use case then they should not use them (or as you already
suggested, preallocate them).
Regards,
Sven
--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel