Name : perl-Tie-CArray
| |
Version : 0.15
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp156.6.1
| Date : 2024-07-03 19:17:21
|
Group : Development/Libraries/Perl
| Source RPM : perl-Tie-CArray-0.15-lp156.6.1.src.rpm
|
Size : 0.11 MB
| |
Packager : https://www_suse_com/
| |
Summary : Space-efficient, typed, external C Arrays (Alpha)
|
Description :
Several XS classes and methods to deal with typed, space-efficient C arrays are provided. Range checked and tieable.
There are hand-optimized, fast XS versions for the three basic C-types array of _INT_, _DOUBLE_ and _STRING_ and some sequential aggregate types int[2][], int[3][], int[4][], double[2][] and double[3][].
This roughly reflects to:
CArray CIntArray int[] CInt2Array int[][2] CInt3Array int[][3] CInt4Array int[][4] CDoubleArray double[] CDouble2Array double[][2] CDouble3Array double[][3] CStringArray *char[]
Typed C arrays need about three times less space then untyped perl arrays. Such as various computional geometry modules dealing with 10.000 - 200.000 double[3]. Modification is done in-place and preferably in bulk.
It might also be easier to write XSUBs by converting the data to CArray\'s before, pass this pointer to the C func, and handle the results in Perl then.
The Fetch/Store operations with tied arrays copy the scalars to perl and back, so it shouldn\'t be abused for BIG data.
Perl\'s safemalloc/safefree is used.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-T/15.6/x86_64 |