vdsp 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/ext/vdsp/vdsp.c +501 -2
  3. data/lib/vdsp/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50e5afc6c77efe02018bb00ac5230314720a0acfaf05b16f11d1a6c433e217bb
4
- data.tar.gz: a57db55e31965d2537063e2908199b081fe9e8a9c6550e497167ef79105e5690
3
+ metadata.gz: 3025c810d13e2fe874cdba89cecf0a4fb8dd1c9415ddd3c45fd5871ef5d42843
4
+ data.tar.gz: 8db6933119c952074264f242c734d5b61b9573bd82625c42bab2b4f4af275eb9
5
5
  SHA512:
6
- metadata.gz: 3621a0a8bf3ac34d55da048cf72700b366e80f61015c067c566391fa39c123b96fccbb349504db068f530c9053576615e9afe0ed33d52749926a0e48f594ce06
7
- data.tar.gz: fa30615c21d524d158ff89bf242494da3d72d04bff1030cbd3fa7ea74ac61b6ec4865c2a9930584c038e7eeb475ffb112a0bfcd95feea3cce896c2a4efe66d86
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
@@ -1,3 +1,3 @@
1
1
  module Vdsp
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vdsp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshida