vdsp 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/vdsp/vdsp.c +501 -2
- data/lib/vdsp/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3025c810d13e2fe874cdba89cecf0a4fb8dd1c9415ddd3c45fd5871ef5d42843
|
4
|
+
data.tar.gz: 8db6933119c952074264f242c734d5b61b9573bd82625c42bab2b4f4af275eb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f0e386529e000782c005582ce7829cb5ca6ac57856a5c7053e3cac18b3dc87c2258c36f935a16d11de2c1539597ca5d2a6eab7b633f6079b43340fc46bb1b3d
|
7
|
+
data.tar.gz: b3ab73efc0f4f4df4c090c656f826f9bbfb693bcb04c0ecdbb548ef8307ecee111107cc4246d4230a26accaa5bb697bca460bdcbeeeadfd0022f138b1d4ab041
|
data/ext/vdsp/vdsp.c
CHANGED
@@ -467,6 +467,134 @@ VALUE rb_double_array_hann_window(int argc, VALUE *argv, VALUE cls)
|
|
467
467
|
return c;
|
468
468
|
}
|
469
469
|
|
470
|
+
VALUE rb_double_array_vclr(VALUE self)
|
471
|
+
{
|
472
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
473
|
+
vDSP_vclrD(p->v.d, 1, p->length);
|
474
|
+
return self;
|
475
|
+
}
|
476
|
+
|
477
|
+
VALUE rb_double_array_vfill(VALUE self, VALUE a)
|
478
|
+
{
|
479
|
+
double _a = NUM2DBL(a);
|
480
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
481
|
+
vDSP_vfillD(&_a, p->v.d, 1, p->length);
|
482
|
+
return self;
|
483
|
+
}
|
484
|
+
|
485
|
+
VALUE rb_double_array_maxv(VALUE self)
|
486
|
+
{
|
487
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
488
|
+
double _c;
|
489
|
+
vDSP_maxvD(p->v.d, 1, &_c, p->length);
|
490
|
+
return DBL2NUM(_c);
|
491
|
+
}
|
492
|
+
|
493
|
+
VALUE rb_double_array_maxmgv(VALUE self)
|
494
|
+
{
|
495
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
496
|
+
double _c;
|
497
|
+
vDSP_maxmgvD(p->v.d, 1, &_c, p->length);
|
498
|
+
return DBL2NUM(_c);
|
499
|
+
}
|
500
|
+
|
501
|
+
VALUE rb_double_array_minv(VALUE self)
|
502
|
+
{
|
503
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
504
|
+
double _c;
|
505
|
+
vDSP_minvD(p->v.d, 1, &_c, p->length);
|
506
|
+
return DBL2NUM(_c);
|
507
|
+
}
|
508
|
+
|
509
|
+
VALUE rb_double_array_minmgv(VALUE self)
|
510
|
+
{
|
511
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
512
|
+
double _c;
|
513
|
+
vDSP_minmgvD(p->v.d, 1, &_c, p->length);
|
514
|
+
return DBL2NUM(_c);
|
515
|
+
}
|
516
|
+
|
517
|
+
VALUE rb_double_array_meanv(VALUE self)
|
518
|
+
{
|
519
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
520
|
+
double _c;
|
521
|
+
vDSP_meanvD(p->v.d, 1, &_c, p->length);
|
522
|
+
return DBL2NUM(_c);
|
523
|
+
}
|
524
|
+
|
525
|
+
VALUE rb_double_array_meamgv(VALUE self)
|
526
|
+
{
|
527
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
528
|
+
double _c;
|
529
|
+
vDSP_meamgvD(p->v.d, 1, &_c, p->length);
|
530
|
+
return DBL2NUM(_c);
|
531
|
+
}
|
532
|
+
|
533
|
+
VALUE rb_double_array_measqv(VALUE self)
|
534
|
+
{
|
535
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
536
|
+
double _c;
|
537
|
+
vDSP_measqvD(p->v.d, 1, &_c, p->length);
|
538
|
+
return DBL2NUM(_c);
|
539
|
+
}
|
540
|
+
|
541
|
+
VALUE rb_double_array_mvessq(VALUE self)
|
542
|
+
{
|
543
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
544
|
+
double _c;
|
545
|
+
vDSP_mvessqD(p->v.d, 1, &_c, p->length);
|
546
|
+
return DBL2NUM(_c);
|
547
|
+
}
|
548
|
+
|
549
|
+
VALUE rb_double_array_rmsqv(VALUE self)
|
550
|
+
{
|
551
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
552
|
+
double _c;
|
553
|
+
vDSP_rmsqvD(p->v.d, 1, &_c, p->length);
|
554
|
+
return DBL2NUM(_c);
|
555
|
+
}
|
556
|
+
|
557
|
+
VALUE rb_double_array_sve(VALUE self)
|
558
|
+
{
|
559
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
560
|
+
double _c;
|
561
|
+
vDSP_sveD(p->v.d, 1, &_c, p->length);
|
562
|
+
return DBL2NUM(_c);
|
563
|
+
}
|
564
|
+
|
565
|
+
VALUE rb_double_array_svemg(VALUE self)
|
566
|
+
{
|
567
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
568
|
+
double _c;
|
569
|
+
vDSP_svemgD(p->v.d, 1, &_c, p->length);
|
570
|
+
return DBL2NUM(_c);
|
571
|
+
}
|
572
|
+
|
573
|
+
VALUE rb_double_array_svesq(VALUE self)
|
574
|
+
{
|
575
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
576
|
+
double _c;
|
577
|
+
vDSP_svesqD(p->v.d, 1, &_c, p->length);
|
578
|
+
return DBL2NUM(_c);
|
579
|
+
}
|
580
|
+
|
581
|
+
VALUE rb_double_array_sve_svesq(VALUE self)
|
582
|
+
{
|
583
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
584
|
+
double _sum;
|
585
|
+
double _sum_of_squares;
|
586
|
+
vDSP_sve_svesqD(p->v.d, 1, &_sum, &_sum_of_squares, p->length);
|
587
|
+
return rb_assoc_new(DBL2NUM(_sum), DBL2NUM(_sum_of_squares));
|
588
|
+
}
|
589
|
+
|
590
|
+
VALUE rb_double_array_svs(VALUE self)
|
591
|
+
{
|
592
|
+
VdspArrayNativeResource *p = get_vdsp_array_native_resource(self);
|
593
|
+
double _c;
|
594
|
+
vDSP_svsD(p->v.d, 1, &_c, p->length);
|
595
|
+
return DBL2NUM(_c);
|
596
|
+
}
|
597
|
+
|
470
598
|
|
471
599
|
// Vdsp static method
|
472
600
|
|
@@ -1447,6 +1575,327 @@ VALUE rb_double_hann_window(VALUE cls, VALUE c, VALUE n, VALUE flag)
|
|
1447
1575
|
return c;
|
1448
1576
|
}
|
1449
1577
|
|
1578
|
+
VALUE rb_double_vclr(
|
1579
|
+
VALUE cls,
|
1580
|
+
VALUE c, VALUE c_offset, VALUE c_stride,
|
1581
|
+
VALUE n)
|
1582
|
+
{
|
1583
|
+
VdspArrayParam _c;
|
1584
|
+
|
1585
|
+
array_param(&_c, c, c_offset, c_stride);
|
1586
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1587
|
+
|
1588
|
+
vDSP_vclrD(
|
1589
|
+
_c.res0->v.d+_c.offset, _c.stride,
|
1590
|
+
_n
|
1591
|
+
);
|
1592
|
+
|
1593
|
+
return c;
|
1594
|
+
}
|
1595
|
+
|
1596
|
+
VALUE rb_double_vfill(
|
1597
|
+
VALUE cls,
|
1598
|
+
VALUE a,
|
1599
|
+
VALUE c, VALUE c_offset, VALUE c_stride,
|
1600
|
+
VALUE n)
|
1601
|
+
{
|
1602
|
+
VdspArrayParam _c;
|
1603
|
+
|
1604
|
+
double _a = NUM2DBL(a);
|
1605
|
+
array_param(&_c, c, c_offset, c_stride);
|
1606
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1607
|
+
|
1608
|
+
vDSP_vfillD(
|
1609
|
+
&_a,
|
1610
|
+
_c.res0->v.d+_c.offset, _c.stride,
|
1611
|
+
_n
|
1612
|
+
);
|
1613
|
+
|
1614
|
+
return c;
|
1615
|
+
}
|
1616
|
+
|
1617
|
+
VALUE rb_double_maxv(
|
1618
|
+
VALUE cls,
|
1619
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1620
|
+
VALUE n)
|
1621
|
+
{
|
1622
|
+
VdspArrayParam _a;
|
1623
|
+
double _c;
|
1624
|
+
|
1625
|
+
array_param(&_a, a, a_offset, a_stride);
|
1626
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1627
|
+
|
1628
|
+
vDSP_maxvD(
|
1629
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1630
|
+
&_c,
|
1631
|
+
_n
|
1632
|
+
);
|
1633
|
+
|
1634
|
+
return DBL2NUM(_c);
|
1635
|
+
}
|
1636
|
+
|
1637
|
+
VALUE rb_double_maxmgv(
|
1638
|
+
VALUE cls,
|
1639
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1640
|
+
VALUE n)
|
1641
|
+
{
|
1642
|
+
VdspArrayParam _a;
|
1643
|
+
double _c;
|
1644
|
+
|
1645
|
+
array_param(&_a, a, a_offset, a_stride);
|
1646
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1647
|
+
|
1648
|
+
vDSP_maxmgvD(
|
1649
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1650
|
+
&_c,
|
1651
|
+
_n
|
1652
|
+
);
|
1653
|
+
|
1654
|
+
return DBL2NUM(_c);
|
1655
|
+
}
|
1656
|
+
|
1657
|
+
VALUE rb_double_minv(
|
1658
|
+
VALUE cls,
|
1659
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1660
|
+
VALUE n)
|
1661
|
+
{
|
1662
|
+
VdspArrayParam _a;
|
1663
|
+
double _c;
|
1664
|
+
|
1665
|
+
array_param(&_a, a, a_offset, a_stride);
|
1666
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1667
|
+
|
1668
|
+
vDSP_minvD(
|
1669
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1670
|
+
&_c,
|
1671
|
+
_n
|
1672
|
+
);
|
1673
|
+
|
1674
|
+
return DBL2NUM(_c);
|
1675
|
+
}
|
1676
|
+
|
1677
|
+
VALUE rb_double_minmgv(
|
1678
|
+
VALUE cls,
|
1679
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1680
|
+
VALUE n)
|
1681
|
+
{
|
1682
|
+
VdspArrayParam _a;
|
1683
|
+
double _c;
|
1684
|
+
|
1685
|
+
array_param(&_a, a, a_offset, a_stride);
|
1686
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1687
|
+
|
1688
|
+
vDSP_minmgvD(
|
1689
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1690
|
+
&_c,
|
1691
|
+
_n
|
1692
|
+
);
|
1693
|
+
|
1694
|
+
return DBL2NUM(_c);
|
1695
|
+
}
|
1696
|
+
|
1697
|
+
VALUE rb_double_meanv(
|
1698
|
+
VALUE cls,
|
1699
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1700
|
+
VALUE n)
|
1701
|
+
{
|
1702
|
+
VdspArrayParam _a;
|
1703
|
+
double _c;
|
1704
|
+
|
1705
|
+
array_param(&_a, a, a_offset, a_stride);
|
1706
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1707
|
+
|
1708
|
+
vDSP_meanvD(
|
1709
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1710
|
+
&_c,
|
1711
|
+
_n
|
1712
|
+
);
|
1713
|
+
|
1714
|
+
return DBL2NUM(_c);
|
1715
|
+
}
|
1716
|
+
|
1717
|
+
VALUE rb_double_meamgv(
|
1718
|
+
VALUE cls,
|
1719
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1720
|
+
VALUE n)
|
1721
|
+
{
|
1722
|
+
VdspArrayParam _a;
|
1723
|
+
double _c;
|
1724
|
+
|
1725
|
+
array_param(&_a, a, a_offset, a_stride);
|
1726
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1727
|
+
|
1728
|
+
vDSP_meamgvD(
|
1729
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1730
|
+
&_c,
|
1731
|
+
_n
|
1732
|
+
);
|
1733
|
+
|
1734
|
+
return DBL2NUM(_c);
|
1735
|
+
}
|
1736
|
+
|
1737
|
+
VALUE rb_double_measqv(
|
1738
|
+
VALUE cls,
|
1739
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1740
|
+
VALUE n)
|
1741
|
+
{
|
1742
|
+
VdspArrayParam _a;
|
1743
|
+
double _c;
|
1744
|
+
|
1745
|
+
array_param(&_a, a, a_offset, a_stride);
|
1746
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1747
|
+
|
1748
|
+
vDSP_measqvD(
|
1749
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1750
|
+
&_c,
|
1751
|
+
_n
|
1752
|
+
);
|
1753
|
+
|
1754
|
+
return DBL2NUM(_c);
|
1755
|
+
}
|
1756
|
+
|
1757
|
+
VALUE rb_double_mvessq(
|
1758
|
+
VALUE cls,
|
1759
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1760
|
+
VALUE n)
|
1761
|
+
{
|
1762
|
+
VdspArrayParam _a;
|
1763
|
+
double _c;
|
1764
|
+
|
1765
|
+
array_param(&_a, a, a_offset, a_stride);
|
1766
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1767
|
+
|
1768
|
+
vDSP_mvessqD(
|
1769
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1770
|
+
&_c,
|
1771
|
+
_n
|
1772
|
+
);
|
1773
|
+
|
1774
|
+
return DBL2NUM(_c);
|
1775
|
+
}
|
1776
|
+
|
1777
|
+
VALUE rb_double_rmsqv(
|
1778
|
+
VALUE cls,
|
1779
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1780
|
+
VALUE n)
|
1781
|
+
{
|
1782
|
+
VdspArrayParam _a;
|
1783
|
+
double _c;
|
1784
|
+
|
1785
|
+
array_param(&_a, a, a_offset, a_stride);
|
1786
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1787
|
+
|
1788
|
+
vDSP_rmsqvD(
|
1789
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1790
|
+
&_c,
|
1791
|
+
_n
|
1792
|
+
);
|
1793
|
+
|
1794
|
+
return DBL2NUM(_c);
|
1795
|
+
}
|
1796
|
+
|
1797
|
+
VALUE rb_double_sve(
|
1798
|
+
VALUE cls,
|
1799
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1800
|
+
VALUE n)
|
1801
|
+
{
|
1802
|
+
VdspArrayParam _a;
|
1803
|
+
double _c;
|
1804
|
+
|
1805
|
+
array_param(&_a, a, a_offset, a_stride);
|
1806
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1807
|
+
|
1808
|
+
vDSP_sveD(
|
1809
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1810
|
+
&_c,
|
1811
|
+
_n
|
1812
|
+
);
|
1813
|
+
|
1814
|
+
return DBL2NUM(_c);
|
1815
|
+
}
|
1816
|
+
|
1817
|
+
VALUE rb_double_svemg(
|
1818
|
+
VALUE cls,
|
1819
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1820
|
+
VALUE n)
|
1821
|
+
{
|
1822
|
+
VdspArrayParam _a;
|
1823
|
+
double _c;
|
1824
|
+
|
1825
|
+
array_param(&_a, a, a_offset, a_stride);
|
1826
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1827
|
+
|
1828
|
+
vDSP_svemgD(
|
1829
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1830
|
+
&_c,
|
1831
|
+
_n
|
1832
|
+
);
|
1833
|
+
|
1834
|
+
return DBL2NUM(_c);
|
1835
|
+
}
|
1836
|
+
|
1837
|
+
VALUE rb_double_svesq(
|
1838
|
+
VALUE cls,
|
1839
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1840
|
+
VALUE n)
|
1841
|
+
{
|
1842
|
+
VdspArrayParam _a;
|
1843
|
+
double _c;
|
1844
|
+
|
1845
|
+
array_param(&_a, a, a_offset, a_stride);
|
1846
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1847
|
+
|
1848
|
+
vDSP_svesqD(
|
1849
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1850
|
+
&_c,
|
1851
|
+
_n
|
1852
|
+
);
|
1853
|
+
|
1854
|
+
return DBL2NUM(_c);
|
1855
|
+
}
|
1856
|
+
|
1857
|
+
VALUE rb_double_sve_svesq(
|
1858
|
+
VALUE cls,
|
1859
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1860
|
+
VALUE n)
|
1861
|
+
{
|
1862
|
+
VdspArrayParam _a;
|
1863
|
+
double _sum;
|
1864
|
+
double _sum_of_squares;
|
1865
|
+
|
1866
|
+
array_param(&_a, a, a_offset, a_stride);
|
1867
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1868
|
+
|
1869
|
+
vDSP_sve_svesqD(
|
1870
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1871
|
+
&_sum,
|
1872
|
+
&_sum_of_squares,
|
1873
|
+
_n
|
1874
|
+
);
|
1875
|
+
|
1876
|
+
return rb_assoc_new(DBL2NUM(_sum), DBL2NUM(_sum_of_squares));
|
1877
|
+
}
|
1878
|
+
|
1879
|
+
VALUE rb_double_svs(
|
1880
|
+
VALUE cls,
|
1881
|
+
VALUE a, VALUE a_offset, VALUE a_stride,
|
1882
|
+
VALUE n)
|
1883
|
+
{
|
1884
|
+
VdspArrayParam _a;
|
1885
|
+
double _c;
|
1886
|
+
|
1887
|
+
array_param(&_a, a, a_offset, a_stride);
|
1888
|
+
vDSP_Stride _n = NUM2LONG(n);
|
1889
|
+
|
1890
|
+
vDSP_svsD(
|
1891
|
+
_a.res0->v.d+_a.offset, _a.stride,
|
1892
|
+
&_c,
|
1893
|
+
_n
|
1894
|
+
);
|
1895
|
+
|
1896
|
+
return DBL2NUM(_c);
|
1897
|
+
}
|
1898
|
+
|
1450
1899
|
|
1451
1900
|
// Init
|
1452
1901
|
|
@@ -1488,16 +1937,42 @@ void Init_vdsp()
|
|
1488
1937
|
rb_define_method(rb_cDoubleArray, "[]=", rb_double_array_aset, 2);
|
1489
1938
|
rb_define_method(rb_cDoubleArray, "to_a", rb_double_array_get_values, 0);
|
1490
1939
|
rb_define_method(rb_cDoubleArray, "coerce", rb_double_array_coerce, 1);
|
1940
|
+
|
1941
|
+
// Vdsp::DoubleArray Vector Generation
|
1491
1942
|
rb_define_singleton_method(rb_cDoubleArray, "vramp", rb_double_array_vramp, 3);
|
1492
1943
|
rb_define_singleton_method(rb_cDoubleArray, "vgen", rb_double_array_vgen, 3);
|
1493
1944
|
rb_define_singleton_method(rb_cDoubleArray, "blkman_window", rb_double_array_blkman_window, -1);
|
1494
1945
|
rb_define_singleton_method(rb_cDoubleArray, "hamm_window", rb_double_array_hamm_window, -1);
|
1495
1946
|
rb_define_singleton_method(rb_cDoubleArray, "hann_window", rb_double_array_hann_window, -1);
|
1496
1947
|
|
1948
|
+
// Vdsp::DoubleArray Vector Clear and Fill Functions
|
1949
|
+
rb_define_method(rb_cDoubleArray, "vclr", rb_double_array_vclr, 0);
|
1950
|
+
rb_define_method(rb_cDoubleArray, "vfill", rb_double_array_vfill, 1);
|
1951
|
+
|
1952
|
+
// Vdsp::DoubleArray Vector Extrema Calculation
|
1953
|
+
rb_define_method(rb_cDoubleArray, "maxv", rb_double_array_maxv, 0);
|
1954
|
+
rb_define_method(rb_cDoubleArray, "maxmgv", rb_double_array_maxmgv, 0);
|
1955
|
+
rb_define_method(rb_cDoubleArray, "minv", rb_double_array_minv, 0);
|
1956
|
+
rb_define_method(rb_cDoubleArray, "minmgv", rb_double_array_minmgv, 0);
|
1957
|
+
|
1958
|
+
// Vdsp::DoubleArray Vector Average Calculation
|
1959
|
+
rb_define_method(rb_cDoubleArray, "meanv", rb_double_array_meanv, 0);
|
1960
|
+
rb_define_method(rb_cDoubleArray, "meamgv", rb_double_array_meamgv, 0);
|
1961
|
+
rb_define_method(rb_cDoubleArray, "measqv", rb_double_array_measqv, 0);
|
1962
|
+
rb_define_method(rb_cDoubleArray, "mvessq", rb_double_array_mvessq, 0);
|
1963
|
+
rb_define_method(rb_cDoubleArray, "rmsqv", rb_double_array_rmsqv, 0);
|
1964
|
+
|
1965
|
+
// Vdsp::DoubleArray Vector Summation
|
1966
|
+
rb_define_method(rb_cDoubleArray, "sve", rb_double_array_sve, 0);
|
1967
|
+
rb_define_method(rb_cDoubleArray, "svemg", rb_double_array_svemg, 0);
|
1968
|
+
rb_define_method(rb_cDoubleArray, "svesq", rb_double_array_svesq, 0);
|
1969
|
+
rb_define_method(rb_cDoubleArray, "sve_svesq", rb_double_array_sve_svesq, 0);
|
1970
|
+
rb_define_method(rb_cDoubleArray, "svs", rb_double_array_svs, 0);
|
1971
|
+
|
1497
1972
|
// Vdsp::UnsafeDouble
|
1498
1973
|
rb_mUnsafeDouble = rb_define_module_under(rb_mVdsp, "UnsafeDouble");
|
1499
1974
|
|
1500
|
-
// Vector-based Arithmetic
|
1975
|
+
// Vdsp::UnsafeDouble Vector-based Arithmetic
|
1501
1976
|
rb_define_singleton_method(rb_mUnsafeDouble, "vsadd", rb_double_vsadd, 8);
|
1502
1977
|
rb_define_singleton_method(rb_mUnsafeDouble, "vadd", rb_double_vadd, 10);
|
1503
1978
|
rb_define_singleton_method(rb_mUnsafeDouble, "vsub", rb_double_vsub, 10);
|
@@ -1521,7 +1996,7 @@ void Init_vdsp()
|
|
1521
1996
|
rb_define_singleton_method(rb_mUnsafeDouble, "vsbsbm", rb_double_vsbsbm, -1);
|
1522
1997
|
rb_define_singleton_method(rb_mUnsafeDouble, "vasbm", rb_double_vasbm, -1);
|
1523
1998
|
|
1524
|
-
// Vector Generation
|
1999
|
+
// Vdsp::UnsafeDouble Vector Generation
|
1525
2000
|
rb_define_singleton_method(rb_mUnsafeDouble, "vramp", rb_double_vramp, 6);
|
1526
2001
|
rb_define_singleton_method(rb_mUnsafeDouble, "vgen", rb_double_vgen, 6);
|
1527
2002
|
rb_define_singleton_method(rb_mUnsafeDouble, "vrampmul", rb_double_vrampmul, 9);
|
@@ -1533,4 +2008,28 @@ void Init_vdsp()
|
|
1533
2008
|
rb_define_singleton_method(rb_mUnsafeDouble, "blkman_window", rb_double_blkman_window, 3);
|
1534
2009
|
rb_define_singleton_method(rb_mUnsafeDouble, "hamm_window", rb_double_hamm_window, 3);
|
1535
2010
|
rb_define_singleton_method(rb_mUnsafeDouble, "hann_window", rb_double_hann_window, 3);
|
2011
|
+
|
2012
|
+
// Vdsp::UnsafeDouble Vector Clear and Fill Functions
|
2013
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "vclr", rb_double_vclr, 4);
|
2014
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "vfill", rb_double_vfill, 5);
|
2015
|
+
|
2016
|
+
// Vdsp::UnsafeDouble Vector Extrema Calculation
|
2017
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "maxv", rb_double_maxv, 4);
|
2018
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "maxmgv", rb_double_maxmgv, 4);
|
2019
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "minv", rb_double_minv, 4);
|
2020
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "minmgv", rb_double_minmgv, 4);
|
2021
|
+
|
2022
|
+
// Vdsp::UnsafeDouble Vector Average Calculation
|
2023
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "meanv", rb_double_meanv, 4);
|
2024
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "meamgv", rb_double_meamgv, 4);
|
2025
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "measqv", rb_double_measqv, 4);
|
2026
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "mvessq", rb_double_mvessq, 4);
|
2027
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "rmsqv", rb_double_rmsqv, 4);
|
2028
|
+
|
2029
|
+
// Vdsp::UnsafeDouble Vector Summation
|
2030
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "sve", rb_double_sve, 4);
|
2031
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "svemg", rb_double_svemg, 4);
|
2032
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "svesq", rb_double_svesq, 4);
|
2033
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "sve_svesq", rb_double_sve_svesq, 4);
|
2034
|
+
rb_define_singleton_method(rb_mUnsafeDouble, "svs", rb_double_svs, 4);
|
1536
2035
|
}
|
data/lib/vdsp/version.rb
CHANGED