Git Product home page Git Product logo

Comments (11)

hutiantian avatar hutiantian commented on May 18, 2024

volk version is 1.1
and kernel is sse4.1 with alignment

from volk.

drmpeg avatar drmpeg commented on May 18, 2024

Seeing the same issue here in gr-paint. A random angle is created, and volk_32f_cos_32f and volk_32f_sin_32f are used to generate the constellation point.

volksine

Forcing volk_32f_cos_32f and volk_32f_sin_32f to generic in volk_config generates the correct constellation.

volkgood

from volk.

n-west avatar n-west commented on May 18, 2024

Yikes! That looks pretty bad. Thanks for the report. I'll look in to this. Just to clarify, it's passing QA and volk_profile gives no errors, but the result is negative for those 3 chunks of angles?

from volk.

drmpeg avatar drmpeg commented on May 18, 2024

Here's the error in tabular format.

angle = 0, 0.000000, sin = 0.000000, volk sin = 0.000000, cos = 1.000000, volk cos = 1.000000
angle = 1, 0.017453, sin = 0.017452, volk sin = 0.017452, cos = 0.999848, volk cos = 0.999848
angle = 2, 0.034907, sin = 0.034899, volk sin = 0.034899, cos = 0.999391, volk cos = 0.999391
angle = 3, 0.052360, sin = 0.052336, volk sin = 0.052336, cos = 0.998630, volk cos = 0.998630
angle = 4, 0.069813, sin = 0.069756, volk sin = 0.069756, cos = 0.997564, volk cos = 0.997564
angle = 5, 0.087266, sin = 0.087156, volk sin = 0.087156, cos = 0.996195, volk cos = 0.996195
angle = 6, 0.104720, sin = 0.104528, volk sin = 0.104528, cos = 0.994522, volk cos = 0.994522
angle = 7, 0.122173, sin = 0.121869, volk sin = 0.121869, cos = 0.992546, volk cos = 0.992546
angle = 8, 0.139626, sin = 0.139173, volk sin = 0.139173, cos = 0.990268, volk cos = 0.990268
angle = 9, 0.157080, sin = 0.156434, volk sin = 0.156434, cos = 0.987688, volk cos = 0.987688
angle = 10, 0.174533, sin = 0.173648, volk sin = 0.173648, cos = 0.984808, volk cos = 0.984808
angle = 11, 0.191986, sin = 0.190809, volk sin = 0.190809, cos = 0.981627, volk cos = 0.981627
angle = 12, 0.209440, sin = 0.207912, volk sin = 0.207912, cos = 0.978148, volk cos = 0.978148
angle = 13, 0.226893, sin = 0.224951, volk sin = 0.224951, cos = 0.974370, volk cos = 0.974370
angle = 14, 0.244346, sin = 0.241922, volk sin = 0.241922, cos = 0.970296, volk cos = 0.970296
angle = 15, 0.261799, sin = 0.258819, volk sin = 0.258819, cos = 0.965926, volk cos = 0.965926
angle = 16, 0.279253, sin = 0.275637, volk sin = 0.275637, cos = 0.961262, volk cos = 0.961262
angle = 17, 0.296706, sin = 0.292372, volk sin = 0.292372, cos = 0.956305, volk cos = 0.956305
angle = 18, 0.314159, sin = 0.309017, volk sin = 0.309017, cos = 0.951057, volk cos = 0.951056
angle = 19, 0.331613, sin = 0.325568, volk sin = 0.325568, cos = 0.945519, volk cos = 0.945519
angle = 20, 0.349066, sin = 0.342020, volk sin = 0.342020, cos = 0.939693, volk cos = 0.939693
angle = 21, 0.366519, sin = 0.358368, volk sin = 0.358368, cos = 0.933580, volk cos = 0.933580
angle = 22, 0.383972, sin = 0.374607, volk sin = 0.374607, cos = 0.927184, volk cos = 0.927184
angle = 23, 0.401426, sin = 0.390731, volk sin = 0.390731, cos = 0.920505, volk cos = 0.920505
angle = 24, 0.418879, sin = 0.406737, volk sin = 0.406737, cos = 0.913545, volk cos = 0.913545
angle = 25, 0.436332, sin = 0.422618, volk sin = 0.422618, cos = 0.906308, volk cos = 0.906308
angle = 26, 0.453786, sin = 0.438371, volk sin = 0.438371, cos = 0.898794, volk cos = 0.898794
angle = 27, 0.471239, sin = 0.453991, volk sin = 0.453991, cos = 0.891007, volk cos = 0.891006
angle = 28, 0.488692, sin = 0.469472, volk sin = 0.469472, cos = 0.882948, volk cos = 0.882948
angle = 29, 0.506145, sin = 0.484810, volk sin = 0.484810, cos = 0.874620, volk cos = 0.874620
angle = 30, 0.523599, sin = 0.500000, volk sin = 0.500000, cos = 0.866025, volk cos = 0.866025
angle = 31, 0.541052, sin = 0.515038, volk sin = 0.515038, cos = 0.857167, volk cos = 0.857167
angle = 32, 0.558505, sin = 0.529919, volk sin = 0.529919, cos = 0.848048, volk cos = 0.848048
angle = 33, 0.575959, sin = 0.544639, volk sin = 0.544639, cos = 0.838671, volk cos = 0.838671
angle = 34, 0.593412, sin = 0.559193, volk sin = 0.559193, cos = 0.829038, volk cos = 0.829037
angle = 35, 0.610865, sin = 0.573576, volk sin = 0.573577, cos = 0.819152, volk cos = 0.819152
angle = 36, 0.628319, sin = 0.587785, volk sin = 0.587785, cos = 0.809017, volk cos = 0.809017
angle = 37, 0.645772, sin = 0.601815, volk sin = 0.601815, cos = 0.798636, volk cos = 0.798635
angle = 38, 0.663225, sin = 0.615661, volk sin = 0.615662, cos = 0.788011, volk cos = 0.788011
angle = 39, 0.680678, sin = 0.629320, volk sin = 0.629321, cos = 0.777146, volk cos = 0.777146
angle = 40, 0.698132, sin = 0.642788, volk sin = 0.642788, cos = 0.766044, volk cos = 0.766044
angle = 41, 0.715585, sin = 0.656059, volk sin = 0.656059, cos = 0.754710, volk cos = 0.754710
angle = 42, 0.733038, sin = 0.669131, volk sin = 0.669131, cos = 0.743145, volk cos = 0.743145
angle = 43, 0.750492, sin = 0.681998, volk sin = 0.681998, cos = 0.731354, volk cos = 0.731354
angle = 44, 0.767945, sin = 0.694658, volk sin = 0.694658, cos = 0.719340, volk cos = 0.719340
angle = 45, 0.785398, sin = 0.707107, volk sin = 0.707107, cos = 0.707107, volk cos = 0.707107
angle = 46, 0.802851, sin = 0.719340, volk sin = 0.719340, cos = 0.694658, volk cos = 0.694658
angle = 47, 0.820305, sin = 0.731354, volk sin = 0.731354, cos = 0.681998, volk cos = 0.681998
angle = 48, 0.837758, sin = 0.743145, volk sin = 0.743145, cos = 0.669131, volk cos = 0.669131
angle = 49, 0.855211, sin = 0.754710, volk sin = 0.754710, cos = 0.656059, volk cos = 0.656059
angle = 50, 0.872665, sin = 0.766044, volk sin = 0.766044, cos = 0.642788, volk cos = 0.642788
angle = 51, 0.890118, sin = 0.777146, volk sin = 0.777146, cos = 0.629320, volk cos = 0.629320
angle = 52, 0.907571, sin = 0.788011, volk sin = 0.788011, cos = 0.615661, volk cos = 0.615661
angle = 53, 0.925025, sin = 0.798636, volk sin = 0.798636, cos = 0.601815, volk cos = 0.601815
angle = 54, 0.942478, sin = 0.809017, volk sin = 0.809017, cos = 0.587785, volk cos = 0.587785
angle = 55, 0.959931, sin = 0.819152, volk sin = 0.819152, cos = 0.573576, volk cos = 0.573576
angle = 56, 0.977384, sin = 0.829038, volk sin = 0.829038, cos = 0.559193, volk cos = 0.559193
angle = 57, 0.994838, sin = 0.838671, volk sin = 0.838671, cos = 0.544639, volk cos = 0.544639
angle = 58, 1.012291, sin = 0.848048, volk sin = 0.848048, cos = 0.529919, volk cos = 0.529919
angle = 59, 1.029744, sin = 0.857167, volk sin = 0.857167, cos = 0.515038, volk cos = 0.515038
angle = 60, 1.047198, sin = 0.866025, volk sin = 0.866025, cos = 0.500000, volk cos = 0.500000
angle = 61, 1.064651, sin = 0.874620, volk sin = 0.874620, cos = 0.484810, volk cos = 0.484809
angle = 62, 1.082104, sin = 0.882948, volk sin = 0.882948, cos = 0.469472, volk cos = 0.469472
angle = 63, 1.099557, sin = 0.891007, volk sin = 0.891007, cos = 0.453991, volk cos = 0.453990
angle = 64, 1.117011, sin = 0.898794, volk sin = 0.898794, cos = 0.438371, volk cos = 0.438371
angle = 65, 1.134464, sin = 0.906308, volk sin = 0.906308, cos = 0.422618, volk cos = 0.422618
angle = 66, 1.151917, sin = 0.913545, volk sin = 0.913545, cos = 0.406737, volk cos = 0.406737
angle = 67, 1.169371, sin = 0.920505, volk sin = 0.920505, cos = 0.390731, volk cos = 0.390731
angle = 68, 1.186824, sin = 0.927184, volk sin = 0.927184, cos = 0.374607, volk cos = -0.374607 cosine error
angle = 69, 1.204277, sin = 0.933580, volk sin = 0.933581, cos = 0.358368, volk cos = -0.358368 "
angle = 70, 1.221730, sin = 0.939693, volk sin = 0.939693, cos = 0.342020, volk cos = -0.342020 "
angle = 71, 1.239184, sin = 0.945519, volk sin = 0.945519, cos = 0.325568, volk cos = -0.325568 "
angle = 72, 1.256637, sin = 0.951057, volk sin = 0.951057, cos = 0.309017, volk cos = -0.309017 "
angle = 73, 1.274090, sin = 0.956305, volk sin = 0.956305, cos = 0.292372, volk cos = -0.292372 "
angle = 74, 1.291544, sin = 0.961262, volk sin = 0.961262, cos = 0.275637, volk cos = -0.275637 "
angle = 75, 1.308997, sin = 0.965926, volk sin = 0.965926, cos = 0.258819, volk cos = -0.258819 "
angle = 76, 1.326450, sin = 0.970296, volk sin = 0.970296, cos = 0.241922, volk cos = -0.241922 "
angle = 77, 1.343904, sin = 0.974370, volk sin = 0.974370, cos = 0.224951, volk cos = -0.224951 "
angle = 78, 1.361357, sin = 0.978148, volk sin = 0.978148, cos = 0.207912, volk cos = -0.207912 "
angle = 79, 1.378810, sin = 0.981627, volk sin = 0.981627, cos = 0.190809, volk cos = -0.190809 "
angle = 80, 1.396263, sin = 0.984808, volk sin = 0.984808, cos = 0.173648, volk cos = -0.173648 "
angle = 81, 1.413717, sin = 0.987688, volk sin = 0.987688, cos = 0.156434, volk cos = -0.156434 "
angle = 82, 1.431170, sin = 0.990268, volk sin = 0.990268, cos = 0.139173, volk cos = -0.139173 "
angle = 83, 1.448623, sin = 0.992546, volk sin = 0.992546, cos = 0.121869, volk cos = -0.121869 "
angle = 84, 1.466077, sin = 0.994522, volk sin = 0.994522, cos = 0.104528, volk cos = -0.104528 "
angle = 85, 1.483530, sin = 0.996195, volk sin = 0.996195, cos = 0.087156, volk cos = -0.087156 "
angle = 86, 1.500983, sin = 0.997564, volk sin = 0.997564, cos = 0.069757, volk cos = -0.069756 "
angle = 87, 1.518436, sin = 0.998630, volk sin = 0.998630, cos = 0.052336, volk cos = -0.052336 "
angle = 88, 1.535890, sin = 0.999391, volk sin = 0.999391, cos = 0.034899, volk cos = -0.034899 "
angle = 89, 1.553343, sin = 0.999848, volk sin = 0.999848, cos = 0.017452, volk cos = -0.017452 cosine error

angle = 90, 1.570796, sin = 1.000000, volk sin = 1.000000, cos = -0.000000, volk cos = -0.000000
angle = 91, 1.588250, sin = 0.999848, volk sin = 0.999848, cos = -0.017452, volk cos = -0.017452
angle = 92, 1.605703, sin = 0.999391, volk sin = 0.999391, cos = -0.034899, volk cos = -0.034900
angle = 93, 1.623156, sin = 0.998630, volk sin = 0.998630, cos = -0.052336, volk cos = -0.052336
angle = 94, 1.640610, sin = 0.997564, volk sin = 0.997564, cos = -0.069756, volk cos = -0.069757
angle = 95, 1.658063, sin = 0.996195, volk sin = 0.996195, cos = -0.087156, volk cos = -0.087156
angle = 96, 1.675516, sin = 0.994522, volk sin = 0.994522, cos = -0.104529, volk cos = -0.104529
angle = 97, 1.692969, sin = 0.992546, volk sin = 0.992546, cos = -0.121869, volk cos = -0.121869
angle = 98, 1.710423, sin = 0.990268, volk sin = 0.990268, cos = -0.139173, volk cos = -0.139173
angle = 99, 1.727876, sin = 0.987688, volk sin = 0.987688, cos = -0.156434, volk cos = -0.156435
angle = 100, 1.745329, sin = 0.984808, volk sin = 0.984808, cos = -0.173648, volk cos = -0.173648
angle = 101, 1.762783, sin = 0.981627, volk sin = 0.981627, cos = -0.190809, volk cos = -0.190809
angle = 102, 1.780236, sin = 0.978148, volk sin = 0.978148, cos = -0.207912, volk cos = -0.207912
angle = 103, 1.797689, sin = 0.974370, volk sin = 0.974370, cos = -0.224951, volk cos = -0.224951
angle = 104, 1.815142, sin = 0.970296, volk sin = 0.970296, cos = -0.241922, volk cos = -0.241922
angle = 105, 1.832596, sin = 0.965926, volk sin = 0.965926, cos = -0.258819, volk cos = -0.258819
angle = 106, 1.850049, sin = 0.961262, volk sin = 0.961262, cos = -0.275637, volk cos = -0.275637
angle = 107, 1.867502, sin = 0.956305, volk sin = 0.956305, cos = -0.292372, volk cos = -0.292372
angle = 108, 1.884956, sin = 0.951057, volk sin = 0.951056, cos = -0.309017, volk cos = -0.309017
angle = 109, 1.902409, sin = 0.945519, volk sin = 0.945519, cos = -0.325568, volk cos = -0.325568
angle = 110, 1.919862, sin = 0.939693, volk sin = 0.939693, cos = -0.342020, volk cos = -0.342020
angle = 111, 1.937315, sin = 0.933580, volk sin = 0.933580, cos = -0.358368, volk cos = -0.358368
angle = 112, 1.954769, sin = 0.927184, volk sin = 0.927184, cos = -0.374607, volk cos = -0.374607
angle = 113, 1.972222, sin = 0.920505, volk sin = 0.920505, cos = -0.390731, volk cos = -0.390731
angle = 114, 1.989675, sin = 0.913545, volk sin = 0.913545, cos = -0.406737, volk cos = -0.406737
angle = 115, 2.007129, sin = 0.906308, volk sin = 0.906308, cos = -0.422618, volk cos = -0.422618
angle = 116, 2.024582, sin = 0.898794, volk sin = 0.898794, cos = -0.438371, volk cos = -0.438371
angle = 117, 2.042035, sin = 0.891006, volk sin = 0.891006, cos = -0.453991, volk cos = -0.453991
angle = 118, 2.059489, sin = 0.882948, volk sin = 0.882948, cos = -0.469472, volk cos = -0.469472
angle = 119, 2.076942, sin = 0.874620, volk sin = 0.874620, cos = -0.484810, volk cos = -0.484810
angle = 120, 2.094395, sin = 0.866025, volk sin = 0.866025, cos = -0.500000, volk cos = -0.500000
angle = 121, 2.111848, sin = 0.857167, volk sin = 0.857167, cos = -0.515038, volk cos = -0.515038
angle = 122, 2.129302, sin = 0.848048, volk sin = 0.848048, cos = -0.529919, volk cos = -0.529920
angle = 123, 2.146755, sin = 0.838671, volk sin = 0.838670, cos = -0.544639, volk cos = -0.544639
angle = 124, 2.164208, sin = 0.829038, volk sin = 0.829037, cos = -0.559193, volk cos = -0.559193
angle = 125, 2.181662, sin = 0.819152, volk sin = 0.819152, cos = -0.573576, volk cos = -0.573577
angle = 126, 2.199115, sin = 0.809017, volk sin = 0.809017, cos = -0.587785, volk cos = -0.587785
angle = 127, 2.216568, sin = 0.798635, volk sin = 0.798635, cos = -0.601815, volk cos = -0.601815
angle = 128, 2.234021, sin = 0.788011, volk sin = 0.788011, cos = -0.615661, volk cos = -0.615662
angle = 129, 2.251475, sin = 0.777146, volk sin = 0.777146, cos = -0.629320, volk cos = -0.629320
angle = 130, 2.268928, sin = 0.766044, volk sin = 0.766044, cos = -0.642788, volk cos = -0.642788
angle = 131, 2.286381, sin = 0.754710, volk sin = 0.754710, cos = -0.656059, volk cos = -0.656059
angle = 132, 2.303835, sin = 0.743145, volk sin = 0.743145, cos = -0.669131, volk cos = -0.669131
angle = 133, 2.321288, sin = 0.731354, volk sin = 0.731354, cos = -0.681998, volk cos = -0.681998
angle = 134, 2.338741, sin = 0.719340, volk sin = 0.719340, cos = -0.694658, volk cos = -0.694659
angle = 135, 2.356194, sin = 0.707107, volk sin = 0.707107, cos = -0.707107, volk cos = -0.707107
angle = 136, 2.373648, sin = 0.694658, volk sin = 0.694658, cos = -0.719340, volk cos = -0.719340
angle = 137, 2.391101, sin = 0.681998, volk sin = 0.681998, cos = -0.731354, volk cos = -0.731354
angle = 138, 2.408554, sin = 0.669131, volk sin = 0.669131, cos = -0.743145, volk cos = -0.743145
angle = 139, 2.426008, sin = 0.656059, volk sin = 0.656059, cos = -0.754710, volk cos = -0.754710
angle = 140, 2.443461, sin = 0.642788, volk sin = 0.642788, cos = -0.766044, volk cos = -0.766044
angle = 141, 2.460914, sin = 0.629320, volk sin = 0.629320, cos = -0.777146, volk cos = -0.777146
angle = 142, 2.478368, sin = 0.615661, volk sin = 0.615661, cos = -0.788011, volk cos = -0.788011
angle = 143, 2.495821, sin = 0.601815, volk sin = 0.601815, cos = -0.798635, volk cos = -0.798636
angle = 144, 2.513274, sin = 0.587785, volk sin = 0.587785, cos = -0.809017, volk cos = -0.809017
angle = 145, 2.530727, sin = 0.573576, volk sin = 0.573576, cos = -0.819152, volk cos = -0.819152
angle = 146, 2.548181, sin = 0.559193, volk sin = 0.559193, cos = -0.829038, volk cos = -0.829038
angle = 147, 2.565634, sin = 0.544639, volk sin = 0.544639, cos = -0.838671, volk cos = -0.838671
angle = 148, 2.583087, sin = 0.529919, volk sin = 0.529919, cos = -0.848048, volk cos = -0.848048
angle = 149, 2.600541, sin = 0.515038, volk sin = 0.515038, cos = -0.857167, volk cos = -0.857167
angle = 150, 2.617994, sin = 0.500000, volk sin = 0.500000, cos = -0.866025, volk cos = -0.866025
angle = 151, 2.635447, sin = 0.484810, volk sin = 0.484809, cos = -0.874620, volk cos = -0.874620
angle = 152, 2.652900, sin = 0.469472, volk sin = 0.469471, cos = -0.882948, volk cos = -0.882948
angle = 153, 2.670354, sin = 0.453991, volk sin = 0.453990, cos = -0.891006, volk cos = -0.891007
angle = 154, 2.687807, sin = 0.438371, volk sin = 0.438371, cos = -0.898794, volk cos = -0.898794
angle = 155, 2.705260, sin = 0.422618, volk sin = 0.422618, cos = -0.906308, volk cos = -0.906308
angle = 156, 2.722714, sin = 0.406737, volk sin = 0.406736, cos = -0.913545, volk cos = -0.913546
angle = 157, 2.740167, sin = 0.390731, volk sin = 0.390731, cos = -0.920505, volk cos = -0.920505
angle = 158, 2.757620, sin = 0.374606, volk sin = -0.374606, cos = -0.927184, volk cos = -0.927184 sine error
angle = 159, 2.775074, sin = 0.358368, volk sin = -0.358368, cos = -0.933580, volk cos = -0.933581 "
angle = 160, 2.792527, sin = 0.342020, volk sin = -0.342020, cos = -0.939693, volk cos = -0.939693 "
angle = 161, 2.809980, sin = 0.325568, volk sin = -0.325568, cos = -0.945519, volk cos = -0.945519 "
angle = 162, 2.827433, sin = 0.309017, volk sin = -0.309017, cos = -0.951057, volk cos = -0.951057 "
angle = 163, 2.844887, sin = 0.292372, volk sin = -0.292371, cos = -0.956305, volk cos = -0.956305 "
angle = 164, 2.862340, sin = 0.275637, volk sin = -0.275637, cos = -0.961262, volk cos = -0.961262 "
angle = 165, 2.879793, sin = 0.258819, volk sin = -0.258819, cos = -0.965926, volk cos = -0.965926 "
angle = 166, 2.897247, sin = 0.241922, volk sin = -0.241922, cos = -0.970296, volk cos = -0.970296 "
angle = 167, 2.914700, sin = 0.224951, volk sin = -0.224951, cos = -0.974370, volk cos = -0.974370 "
angle = 168, 2.932153, sin = 0.207912, volk sin = -0.207911, cos = -0.978148, volk cos = -0.978148 "
angle = 169, 2.949606, sin = 0.190809, volk sin = -0.190809, cos = -0.981627, volk cos = -0.981627 "
angle = 170, 2.967060, sin = 0.173648, volk sin = -0.173648, cos = -0.984808, volk cos = -0.984808 "
angle = 171, 2.984513, sin = 0.156434, volk sin = -0.156434, cos = -0.987688, volk cos = -0.987688 "
angle = 172, 3.001966, sin = 0.139173, volk sin = -0.139173, cos = -0.990268, volk cos = -0.990268 "
angle = 173, 3.019420, sin = 0.121869, volk sin = -0.121869, cos = -0.992546, volk cos = -0.992546 "
angle = 174, 3.036873, sin = 0.104528, volk sin = -0.104528, cos = -0.994522, volk cos = -0.994522 "
angle = 175, 3.054326, sin = 0.087156, volk sin = -0.087155, cos = -0.996195, volk cos = -0.996195 "
angle = 176, 3.071779, sin = 0.069756, volk sin = -0.069756, cos = -0.997564, volk cos = -0.997564 "
angle = 177, 3.089233, sin = 0.052336, volk sin = -0.052336, cos = -0.998630, volk cos = -0.998630 "
angle = 178, 3.106686, sin = 0.034899, volk sin = -0.034899, cos = -0.999391, volk cos = -0.999391 "
angle = 179, 3.124139, sin = 0.017452, volk sin = -0.017452, cos = -0.999848, volk cos = -0.999848 sine error

angle = 180, 3.141593, sin = -0.000000, volk sin = -0.000000, cos = -1.000000, volk cos = -1.000000
angle = 181, 3.159046, sin = -0.017452, volk sin = -0.017453, cos = -0.999848, volk cos = -0.999848
angle = 182, 3.176499, sin = -0.034899, volk sin = -0.034900, cos = -0.999391, volk cos = -0.999391
angle = 183, 3.193953, sin = -0.052336, volk sin = -0.052336, cos = -0.998630, volk cos = -0.998630
angle = 184, 3.211406, sin = -0.069756, volk sin = -0.069757, cos = -0.997564, volk cos = -0.997564
angle = 185, 3.228859, sin = -0.087156, volk sin = -0.087156, cos = -0.996195, volk cos = -0.996195
angle = 186, 3.246312, sin = -0.104528, volk sin = -0.104529, cos = -0.994522, volk cos = -0.994522
angle = 187, 3.263766, sin = -0.121869, volk sin = -0.121870, cos = -0.992546, volk cos = -0.992546
angle = 188, 3.281219, sin = -0.139173, volk sin = -0.139173, cos = -0.990268, volk cos = -0.990268
angle = 189, 3.298672, sin = -0.156434, volk sin = -0.156435, cos = -0.987688, volk cos = -0.987688
angle = 190, 3.316126, sin = -0.173648, volk sin = -0.173648, cos = -0.984808, volk cos = -0.984808
angle = 191, 3.333579, sin = -0.190809, volk sin = -0.190809, cos = -0.981627, volk cos = -0.981627
angle = 192, 3.351032, sin = -0.207912, volk sin = -0.207912, cos = -0.978148, volk cos = -0.978148
angle = 193, 3.368485, sin = -0.224951, volk sin = -0.224951, cos = -0.974370, volk cos = -0.974370
angle = 194, 3.385939, sin = -0.241922, volk sin = -0.241922, cos = -0.970296, volk cos = -0.970296
angle = 195, 3.403392, sin = -0.258819, volk sin = -0.258819, cos = -0.965926, volk cos = -0.965926
angle = 196, 3.420845, sin = -0.275637, volk sin = -0.275637, cos = -0.961262, volk cos = -0.961262
angle = 197, 3.438299, sin = -0.292372, volk sin = -0.292372, cos = -0.956305, volk cos = -0.956305
angle = 198, 3.455752, sin = -0.309017, volk sin = -0.309017, cos = -0.951057, volk cos = -0.951056
angle = 199, 3.473205, sin = -0.325568, volk sin = -0.325568, cos = -0.945519, volk cos = -0.945518
angle = 200, 3.490659, sin = -0.342020, volk sin = -0.342020, cos = -0.939693, volk cos = -0.939693
angle = 201, 3.508112, sin = -0.358368, volk sin = -0.358368, cos = -0.933580, volk cos = -0.933580
angle = 202, 3.525565, sin = -0.374607, volk sin = -0.374607, cos = -0.927184, volk cos = -0.927184
angle = 203, 3.543018, sin = -0.390731, volk sin = -0.390731, cos = -0.920505, volk cos = -0.920505
angle = 204, 3.560472, sin = -0.406737, volk sin = -0.406737, cos = -0.913545, volk cos = -0.913545
angle = 205, 3.577925, sin = -0.422618, volk sin = -0.422618, cos = -0.906308, volk cos = -0.906308
angle = 206, 3.595378, sin = -0.438371, volk sin = -0.438371, cos = -0.898794, volk cos = -0.898794
angle = 207, 3.612832, sin = -0.453991, volk sin = -0.453991, cos = -0.891007, volk cos = -0.891006
angle = 208, 3.630285, sin = -0.469472, volk sin = -0.469472, cos = -0.882948, volk cos = -0.882948
angle = 209, 3.647738, sin = -0.484810, volk sin = -0.484810, cos = -0.874620, volk cos = -0.874620
angle = 210, 3.665191, sin = -0.500000, volk sin = -0.500000, cos = -0.866025, volk cos = -0.866025
angle = 211, 3.682645, sin = -0.515038, volk sin = -0.515038, cos = -0.857167, volk cos = -0.857167
angle = 212, 3.700098, sin = -0.529919, volk sin = -0.529920, cos = -0.848048, volk cos = -0.848048
angle = 213, 3.717551, sin = -0.544639, volk sin = -0.544639, cos = -0.838671, volk cos = -0.838670
angle = 214, 3.735005, sin = -0.559193, volk sin = -0.559193, cos = -0.829038, volk cos = -0.829037
angle = 215, 3.752458, sin = -0.573576, volk sin = -0.573577, cos = -0.819152, volk cos = -0.819152
angle = 216, 3.769911, sin = -0.587785, volk sin = -0.587785, cos = -0.809017, volk cos = -0.809017
angle = 217, 3.787364, sin = -0.601815, volk sin = -0.601815, cos = -0.798636, volk cos = -0.798635
angle = 218, 3.804818, sin = -0.615661, volk sin = -0.615662, cos = -0.788011, volk cos = -0.788011
angle = 219, 3.822271, sin = -0.629320, volk sin = -0.629321, cos = -0.777146, volk cos = -0.777146
angle = 220, 3.839724, sin = -0.642788, volk sin = -0.642788, cos = -0.766044, volk cos = -0.766044
angle = 221, 3.857178, sin = -0.656059, volk sin = -0.656059, cos = -0.754710, volk cos = -0.754709
angle = 222, 3.874631, sin = -0.669131, volk sin = -0.669131, cos = -0.743145, volk cos = -0.743145
angle = 223, 3.892084, sin = -0.681998, volk sin = -0.681998, cos = -0.731354, volk cos = -0.731354
angle = 224, 3.909538, sin = -0.694658, volk sin = -0.694659, cos = -0.719340, volk cos = -0.719340
angle = 225, 3.926991, sin = -0.707107, volk sin = -0.707107, cos = -0.707107, volk cos = -0.707107
angle = 226, 3.944444, sin = -0.719340, volk sin = -0.719340, cos = -0.694658, volk cos = -0.694658
angle = 227, 3.961897, sin = -0.731354, volk sin = -0.731354, cos = -0.681998, volk cos = -0.681998
angle = 228, 3.979351, sin = -0.743145, volk sin = -0.743145, cos = -0.669131, volk cos = -0.669130
angle = 229, 3.996804, sin = -0.754710, volk sin = -0.754710, cos = -0.656059, volk cos = -0.656059
angle = 230, 4.014257, sin = -0.766045, volk sin = -0.766045, cos = -0.642787, volk cos = -0.642787
angle = 231, 4.031711, sin = -0.777146, volk sin = -0.777146, cos = -0.629320, volk cos = -0.629320
angle = 232, 4.049164, sin = -0.788011, volk sin = -0.788011, cos = -0.615662, volk cos = -0.615661
angle = 233, 4.066617, sin = -0.798635, volk sin = -0.798636, cos = -0.601815, volk cos = -0.601815
angle = 234, 4.084071, sin = -0.809017, volk sin = -0.809017, cos = -0.587785, volk cos = -0.587785
angle = 235, 4.101524, sin = -0.819152, volk sin = -0.819152, cos = -0.573576, volk cos = -0.573576
angle = 236, 4.118977, sin = -0.829038, volk sin = -0.829038, cos = -0.559193, volk cos = -0.559193
angle = 237, 4.136430, sin = -0.838671, volk sin = -0.838671, cos = -0.544639, volk cos = -0.544639
angle = 238, 4.153883, sin = -0.848048, volk sin = -0.848048, cos = -0.529919, volk cos = -0.529919
angle = 239, 4.171337, sin = -0.857167, volk sin = -0.857168, cos = -0.515038, volk cos = -0.515038
angle = 240, 4.188790, sin = -0.866025, volk sin = -0.866026, cos = -0.500000, volk cos = -0.500000
angle = 241, 4.206244, sin = -0.874620, volk sin = -0.874620, cos = -0.484810, volk cos = -0.484809
angle = 242, 4.223697, sin = -0.882948, volk sin = -0.882948, cos = -0.469472, volk cos = -0.469471
angle = 243, 4.241150, sin = -0.891006, volk sin = -0.891007, cos = -0.453991, volk cos = -0.453990
angle = 244, 4.258604, sin = -0.898794, volk sin = -0.898794, cos = -0.438371, volk cos = -0.438371
angle = 245, 4.276057, sin = -0.906308, volk sin = -0.906308, cos = -0.422618, volk cos = -0.422618
angle = 246, 4.293510, sin = -0.913545, volk sin = -0.913546, cos = -0.406737, volk cos = -0.406736
angle = 247, 4.310963, sin = -0.920505, volk sin = -0.920505, cos = -0.390731, volk cos = -0.390731
angle = 248, 4.328416, sin = -0.927184, volk sin = -0.927184, cos = -0.374607, volk cos = 0.374607 cosine error
angle = 249, 4.345870, sin = -0.933580, volk sin = -0.933581, cos = -0.358368, volk cos = 0.358368 "
angle = 250, 4.363323, sin = -0.939693, volk sin = -0.939693, cos = -0.342020, volk cos = 0.342020 "
angle = 251, 4.380776, sin = -0.945519, volk sin = -0.945519, cos = -0.325568, volk cos = 0.325568 "
angle = 252, 4.398230, sin = -0.951056, volk sin = -0.951057, cos = -0.309017, volk cos = 0.309017 "
angle = 253, 4.415683, sin = -0.956305, volk sin = -0.956305, cos = -0.292372, volk cos = 0.292372 "
angle = 254, 4.433136, sin = -0.961262, volk sin = -0.961262, cos = -0.275637, volk cos = 0.275637 "
angle = 255, 4.450590, sin = -0.965926, volk sin = -0.965926, cos = -0.258819, volk cos = 0.258819 "
angle = 256, 4.468043, sin = -0.970296, volk sin = -0.970296, cos = -0.241922, volk cos = 0.241922 "
angle = 257, 4.485496, sin = -0.974370, volk sin = -0.974370, cos = -0.224951, volk cos = 0.224951 "
angle = 258, 4.502949, sin = -0.978148, volk sin = -0.978148, cos = -0.207912, volk cos = 0.207912 "
angle = 259, 4.520403, sin = -0.981627, volk sin = -0.981627, cos = -0.190809, volk cos = 0.190809 "
angle = 260, 4.537856, sin = -0.984808, volk sin = -0.984808, cos = -0.173648, volk cos = 0.173648 "
angle = 261, 4.555309, sin = -0.987688, volk sin = -0.987688, cos = -0.156435, volk cos = 0.156434 "
angle = 262, 4.572762, sin = -0.990268, volk sin = -0.990268, cos = -0.139173, volk cos = 0.139173 "
angle = 263, 4.590216, sin = -0.992546, volk sin = -0.992546, cos = -0.121869, volk cos = 0.121869 "
angle = 264, 4.607669, sin = -0.994522, volk sin = -0.994522, cos = -0.104528, volk cos = 0.104528 "
angle = 265, 4.625123, sin = -0.996195, volk sin = -0.996195, cos = -0.087156, volk cos = 0.087155 "
angle = 266, 4.642576, sin = -0.997564, volk sin = -0.997564, cos = -0.069757, volk cos = 0.069756 "
angle = 267, 4.660029, sin = -0.998630, volk sin = -0.998630, cos = -0.052336, volk cos = 0.052336 "
angle = 268, 4.677483, sin = -0.999391, volk sin = -0.999391, cos = -0.034899, volk cos = 0.034899 "
angle = 269, 4.694936, sin = -0.999848, volk sin = -0.999848, cos = -0.017452, volk cos = 0.017452 cosine error

angle = 270, 4.712389, sin = -1.000000, volk sin = -1.000000, cos = 0.000000, volk cos = 0.000000
angle = 271, 4.729842, sin = -0.999848, volk sin = -0.999848, cos = 0.017452, volk cos = 0.017453
angle = 272, 4.747295, sin = -0.999391, volk sin = -0.999391, cos = 0.034899, volk cos = 0.034900
angle = 273, 4.764749, sin = -0.998630, volk sin = -0.998630, cos = 0.052336, volk cos = 0.052336
angle = 274, 4.782202, sin = -0.997564, volk sin = -0.997564, cos = 0.069757, volk cos = 0.069757
angle = 275, 4.799655, sin = -0.996195, volk sin = -0.996195, cos = 0.087156, volk cos = 0.087156
angle = 276, 4.817109, sin = -0.994522, volk sin = -0.994522, cos = 0.104528, volk cos = 0.104529
angle = 277, 4.834562, sin = -0.992546, volk sin = -0.992546, cos = 0.121869, volk cos = 0.121869
angle = 278, 4.852015, sin = -0.990268, volk sin = -0.990268, cos = 0.139173, volk cos = 0.139174
angle = 279, 4.869469, sin = -0.987688, volk sin = -0.987688, cos = 0.156435, volk cos = 0.156435
angle = 280, 4.886922, sin = -0.984808, volk sin = -0.984808, cos = 0.173648, volk cos = 0.173648
angle = 281, 4.904375, sin = -0.981627, volk sin = -0.981627, cos = 0.190809, volk cos = 0.190809
angle = 282, 4.921828, sin = -0.978148, volk sin = -0.978148, cos = 0.207911, volk cos = 0.207912
angle = 283, 4.939282, sin = -0.974370, volk sin = -0.974370, cos = 0.224951, volk cos = 0.224951
angle = 284, 4.956735, sin = -0.970296, volk sin = -0.970296, cos = 0.241922, volk cos = 0.241922
angle = 285, 4.974188, sin = -0.965926, volk sin = -0.965926, cos = 0.258819, volk cos = 0.258819
angle = 286, 4.991642, sin = -0.961262, volk sin = -0.961262, cos = 0.275637, volk cos = 0.275637
angle = 287, 5.009095, sin = -0.956305, volk sin = -0.956305, cos = 0.292371, volk cos = 0.292372
angle = 288, 5.026548, sin = -0.951056, volk sin = -0.951056, cos = 0.309017, volk cos = 0.309017
angle = 289, 5.044002, sin = -0.945519, volk sin = -0.945518, cos = 0.325568, volk cos = 0.325568
angle = 290, 5.061455, sin = -0.939693, volk sin = -0.939692, cos = 0.342020, volk cos = 0.342020
angle = 291, 5.078908, sin = -0.933580, volk sin = -0.933580, cos = 0.358368, volk cos = 0.358368
angle = 292, 5.096362, sin = -0.927184, volk sin = -0.927184, cos = 0.374607, volk cos = 0.374607
angle = 293, 5.113815, sin = -0.920505, volk sin = -0.920505, cos = 0.390731, volk cos = 0.390732
angle = 294, 5.131268, sin = -0.913545, volk sin = -0.913545, cos = 0.406737, volk cos = 0.406737
angle = 295, 5.148721, sin = -0.906308, volk sin = -0.906308, cos = 0.422618, volk cos = 0.422618
angle = 296, 5.166174, sin = -0.898794, volk sin = -0.898794, cos = 0.438371, volk cos = 0.438371
angle = 297, 5.183628, sin = -0.891006, volk sin = -0.891006, cos = 0.453991, volk cos = 0.453991
angle = 298, 5.201081, sin = -0.882948, volk sin = -0.882947, cos = 0.469472, volk cos = 0.469472
angle = 299, 5.218534, sin = -0.874620, volk sin = -0.874620, cos = 0.484810, volk cos = 0.484810
angle = 300, 5.235988, sin = -0.866025, volk sin = -0.866025, cos = 0.500000, volk cos = 0.500000
angle = 301, 5.253441, sin = -0.857167, volk sin = -0.857167, cos = 0.515038, volk cos = 0.515038
angle = 302, 5.270895, sin = -0.848048, volk sin = -0.848048, cos = 0.529919, volk cos = 0.529920
angle = 303, 5.288348, sin = -0.838671, volk sin = -0.838670, cos = 0.544639, volk cos = 0.544639
angle = 304, 5.305801, sin = -0.829038, volk sin = -0.829037, cos = 0.559193, volk cos = 0.559193
angle = 305, 5.323254, sin = -0.819152, volk sin = -0.819152, cos = 0.573576, volk cos = 0.573577
angle = 306, 5.340707, sin = -0.809017, volk sin = -0.809017, cos = 0.587785, volk cos = 0.587785
angle = 307, 5.358161, sin = -0.798635, volk sin = -0.798635, cos = 0.601815, volk cos = 0.601815
angle = 308, 5.375614, sin = -0.788011, volk sin = -0.788011, cos = 0.615662, volk cos = 0.615662
angle = 309, 5.393067, sin = -0.777146, volk sin = -0.777146, cos = 0.629320, volk cos = 0.629321
angle = 310, 5.410521, sin = -0.766045, volk sin = -0.766044, cos = 0.642788, volk cos = 0.642788
angle = 311, 5.427974, sin = -0.754710, volk sin = -0.754710, cos = 0.656059, volk cos = 0.656059
angle = 312, 5.445427, sin = -0.743145, volk sin = -0.743145, cos = 0.669131, volk cos = 0.669131
angle = 313, 5.462881, sin = -0.731354, volk sin = -0.731353, cos = 0.681998, volk cos = 0.681999
angle = 314, 5.480334, sin = -0.719340, volk sin = -0.719340, cos = 0.694658, volk cos = 0.694659
angle = 315, 5.497787, sin = -0.707107, volk sin = -0.707107, cos = 0.707107, volk cos = 0.707107
angle = 316, 5.515241, sin = -0.694658, volk sin = -0.694658, cos = 0.719340, volk cos = 0.719340
angle = 317, 5.532694, sin = -0.681998, volk sin = -0.681998, cos = 0.731354, volk cos = 0.731354
angle = 318, 5.550147, sin = -0.669131, volk sin = -0.669130, cos = 0.743145, volk cos = 0.743145
angle = 319, 5.567600, sin = -0.656059, volk sin = -0.656059, cos = 0.754710, volk cos = 0.754710
angle = 320, 5.585053, sin = -0.642788, volk sin = -0.642788, cos = 0.766044, volk cos = 0.766044
angle = 321, 5.602507, sin = -0.629320, volk sin = -0.629320, cos = 0.777146, volk cos = 0.777146
angle = 322, 5.619960, sin = -0.615661, volk sin = -0.615661, cos = 0.788011, volk cos = 0.788011
angle = 323, 5.637414, sin = -0.601815, volk sin = -0.601815, cos = 0.798636, volk cos = 0.798636
angle = 324, 5.654867, sin = -0.587785, volk sin = -0.587785, cos = 0.809017, volk cos = 0.809017
angle = 325, 5.672320, sin = -0.573577, volk sin = -0.573576, cos = 0.819152, volk cos = 0.819152
angle = 326, 5.689774, sin = -0.559193, volk sin = -0.559192, cos = 0.829038, volk cos = 0.829038
angle = 327, 5.707227, sin = -0.544639, volk sin = -0.544639, cos = 0.838671, volk cos = 0.838671
angle = 328, 5.724680, sin = -0.529919, volk sin = -0.529919, cos = 0.848048, volk cos = 0.848048
angle = 329, 5.742133, sin = -0.515038, volk sin = -0.515038, cos = 0.857167, volk cos = 0.857167
angle = 330, 5.759586, sin = -0.500000, volk sin = -0.500000, cos = 0.866025, volk cos = 0.866025
angle = 331, 5.777040, sin = -0.484809, volk sin = -0.484809, cos = 0.874620, volk cos = 0.874620
angle = 332, 5.794493, sin = -0.469471, volk sin = -0.469471, cos = 0.882948, volk cos = 0.882948
angle = 333, 5.811946, sin = -0.453991, volk sin = -0.453990, cos = 0.891007, volk cos = 0.891007
angle = 334, 5.829400, sin = -0.438371, volk sin = -0.438371, cos = 0.898794, volk cos = 0.898794
angle = 335, 5.846853, sin = -0.422618, volk sin = -0.422618, cos = 0.906308, volk cos = 0.906308
angle = 336, 5.864306, sin = -0.406736, volk sin = -0.406736, cos = 0.913546, volk cos = 0.913546
angle = 337, 5.881760, sin = -0.390731, volk sin = -0.390731, cos = 0.920505, volk cos = 0.920505
angle = 338, 5.899213, sin = -0.374607, volk sin = 0.374606, cos = 0.927184, volk cos = 0.927184 sine error
angle = 339, 5.916666, sin = -0.358368, volk sin = 0.358368, cos = 0.933580, volk cos = 0.933581 "
angle = 340, 5.934119, sin = -0.342020, volk sin = 0.342020, cos = 0.939693, volk cos = 0.939693 "
angle = 341, 5.951573, sin = -0.325568, volk sin = 0.325568, cos = 0.945519, volk cos = 0.945519 "
angle = 342, 5.969026, sin = -0.309017, volk sin = 0.309017, cos = 0.951057, volk cos = 0.951057 "
angle = 343, 5.986479, sin = -0.292372, volk sin = 0.292371, cos = 0.956305, volk cos = 0.956305 "
angle = 344, 6.003932, sin = -0.275638, volk sin = 0.275637, cos = 0.961262, volk cos = 0.961262 "
angle = 345, 6.021386, sin = -0.258819, volk sin = 0.258819, cos = 0.965926, volk cos = 0.965926 "
angle = 346, 6.038839, sin = -0.241922, volk sin = 0.241921, cos = 0.970296, volk cos = 0.970296 "
angle = 347, 6.056293, sin = -0.224951, volk sin = 0.224951, cos = 0.974370, volk cos = 0.974370 "
angle = 348, 6.073746, sin = -0.207912, volk sin = 0.207911, cos = 0.978148, volk cos = 0.978148 "
angle = 349, 6.091199, sin = -0.190809, volk sin = 0.190809, cos = 0.981627, volk cos = 0.981627 "
angle = 350, 6.108653, sin = -0.173648, volk sin = 0.173648, cos = 0.984808, volk cos = 0.984808 "
angle = 351, 6.126106, sin = -0.156434, volk sin = 0.156434, cos = 0.987688, volk cos = 0.987688 "
angle = 352, 6.143559, sin = -0.139173, volk sin = 0.139173, cos = 0.990268, volk cos = 0.990268 "
angle = 353, 6.161012, sin = -0.121869, volk sin = 0.121869, cos = 0.992546, volk cos = 0.992546 "
angle = 354, 6.178465, sin = -0.104529, volk sin = 0.104528, cos = 0.994522, volk cos = 0.994522 "
angle = 355, 6.195919, sin = -0.087156, volk sin = 0.087155, cos = 0.996195, volk cos = 0.996195 "
angle = 356, 6.213372, sin = -0.069756, volk sin = 0.069756, cos = 0.997564, volk cos = 0.997564 "
angle = 357, 6.230825, sin = -0.052336, volk sin = 0.052336, cos = 0.998630, volk cos = 0.998630 "
angle = 358, 6.248279, sin = -0.034900, volk sin = 0.034899, cos = 0.999391, volk cos = 0.999391 "
angle = 359, 6.265732, sin = -0.017453, volk sin = 0.017452, cos = 0.999848, volk cos = 0.999848 sine error

from volk.

n-west avatar n-west commented on May 18, 2024

OK, just got around to this today. My first step whenever I look at this stuff is to figure out why our QA fails. In this case it's because our auto-generated numbers are (-1,1). When I change that to (-pi, pi) I get failures for the trig functions (tan is also off, tanh is too, but that's just a tolerance problem for high input vals).

Unfortunately I haven't seen an obvious transition/pattern with where the sign errors are (please tell me if you do, which may help exploring the math). I didn't actually write the original code, so it'll take another night of re-deriving the appromixations.

from volk.

drmpeg avatar drmpeg commented on May 18, 2024

For cosine, the sign errors are from 3/8 pi to 1/2 pi and 11/8 pi to 3/2 pi.

For sine, the sign errors are from 7/8 pi to pi and 15/8 pi to 2 pi.

from volk.

stwunsch avatar stwunsch commented on May 18, 2024

Just looked through the code and tried to fix it, no luck :/ But I don't think that sse 4.1 is necessary, sse 2 should be sufficient for this kernel. I could be wrong!

from volk.

n-west avatar n-west commented on May 18, 2024

@stwunsch, I think you're correct that we only need SSE2 for this, but that's an API change since the name of protokernels do get exported publicly. For now, I found the paper this is based on and discovered a missing floor operation on a value used in a if-branch to flip the sign. This should be fixed. Sorry for the long delay, and I appreciate the patience :-)

While I was at it I updated the QA to test from [-pi, pi] so we test all around the unit circle. As a result these moved in to the "inaccurate" section of kernels because the normal tolerance is quite tight, but in reality these are very good approximations.

I'm going to close this since I think the issue is fixed. Holler if you see any issues.

from volk.

n-west avatar n-west commented on May 18, 2024

Heh, ok... This will still fail QA because the randomly generated numbers provide some really small angles and the % difference used in the QA makes it tough to do these comparisons. That's been on my TODO list for a while and it looks like I have a good reason to do it now..

For now ignore really small errors even though the QA will fail. Example:
1: offset 10269 in1: -7.58967e-07 in2: -8.34465e-07 tolerance was: 0.001. The difference is more decimal places out than we normally care, but since we use % difference it's a rather large error.

from volk.

stwunsch avatar stwunsch commented on May 18, 2024

Can you post the name of the paper? Thx in advance!

from volk.

n-west avatar n-west commented on May 18, 2024

Efficient evaluation methods of elementary functions suitable for SIMD computation.
Link: http://link.springer.com/article/10.1007%2Fs00450-010-0108-2

The basic idea is to get the form s + pi/4 * q, where q is an integer that represents the quadrant, then put use cosine double angle identity (3 times in this case) to put s in to a smaller range so it's good for a taylor series approximation and use q to recover the correct sign. Taking advantage of the double-angle multiple times (along with the math to unwind) to get a nicely linearized region is the clever bit.

from volk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.