--- Log opened Tue Jan 17 00:00:17 2023 00:11 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 255 seconds] 00:11 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 00:20 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Quit: Leaving] 00:27 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 00:33 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 255 seconds] 00:37 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 00:49 < real_or_random> > Exercise for the reader: why is there only one subgroup of size 13, despite the y^2=x^3+2 order being divisible by 13^2 ? 00:49 < real_or_random> The group order n of y^2=x^3+2 is odd, so the group is cyclic. By the fundamental theorem of cyclic groups, it has at most one subgroup for every divisor d of n. 01:24 < real_or_random> * - SECP256K1_CHECKMEM_CHECK(p, len): 01:24 < real_or_random> * - Assert or otherwise fail in case the len-byte memory block pointed to by p is 01:24 < real_or_random> * not considered entirely defined. 01:25 < real_or_random> sipa: this asserts for msan but just prints an error message for valgrind. I think the behavior is good, just checking if printing an error is what you had in mind when you wrote "otherwise fail" 01:50 -!- joschisan [~joschisan@eduroam-141-23-167-45.wlan.tu-berlin.de] has joined #secp256k1 01:51 -!- joschisan [~joschisan@eduroam-141-23-167-45.wlan.tu-berlin.de] has quit [Client Quit] 02:13 -!- joschisan [~joschisan@eduroam-141-23-167-45.wlan.tu-berlin.de] has joined #secp256k1 02:19 -!- joschisan [~joschisan@eduroam-141-23-167-45.wlan.tu-berlin.de] has quit [Quit: Client closed] 02:27 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has joined #secp256k1 02:31 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has quit [Client Quit] 02:31 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has joined #secp256k1 02:33 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has quit [Client Quit] 02:36 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has joined #secp256k1 02:37 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has quit [Client Quit] 02:40 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has joined #secp256k1 02:41 -!- joschisan [~joschisan@dynamic-046-114-180-052.46.114.pool.telefonica.de] has quit [Client Quit] 02:52 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 255 seconds] 02:54 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 03:49 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 255 seconds] 03:52 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 04:54 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 04:54 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 05:42 < sipa> @real_or_random Not every odd-ordered group is cyclic (in particular, the order-49 group discussed before is not). 05:47 < hebasto> prime-ordered is cyclic 05:48 < sipa> @hebasto That's correct! 05:53 < real_or_random> sipa: IIRC every odd-ordered full elliptic curve group (not subgroup) is cyclic 05:55 < sipa> Oh that may be true. 05:56 < sipa> In any case, your overall point is correct. The order-13^2 subgroup is isomorphic to C_169 (integer addition mod 169). The order-7^2 subgroups is not C_49, but C_7 * C_7. 05:57 < real_or_random> no, I'm wrong, hm 05:57 < real_or_random> well wikipedia says this 05:58 < real_or_random> "The set of points E(Fq) is a finite abelian group. It is always cyclic or the product of two cyclic groups, depending whether q is even or odd. " but no further explanation 05:58 < real_or_random> and note q here is the field size, not group order 05:59 < real_or_random> sipa: did you see my code question above? 06:01 < sipa> The first part is correct: finite elliptic curves are either cyclic or the product of two cyclic groups. 06:02 < sipa> @real_or_random Yeah, I saw. If it's easy to do, perhaps we want to make it also assert if the checkmem fails. 06:07 < real_or_random> I think it will be easy, we can just CHECK the result. But I think not aborting is good. valgrind is totally able to continue at this point. I'd rather clarify the comment 06:24 < roconnor> I want to argue that *_debruijn should return -1 indicating error when passed 0, but I realize that is like arguing about how many angels can dance on the head of a pin. 06:35 < real_or_random> lol 06:36 < real_or_random> you may want to read https://stackoverflow.com/questions/19527897/how-undefined-are-builtin-ctz0-or-builtin-clz0 06:43 < roconnor> I recall seeing that. 06:43 < roconnor> we could call __builtin_unreachable or whatever it is called instead. 07:00 -!- darosior [~darosior@194.36.189.246] has quit [Remote host closed the connection] 07:05 -!- darosior [~darosior@194.36.189.246] has joined #secp256k1 07:10 -!- darosior [~darosior@194.36.189.246] has quit [Ping timeout: 260 seconds] 07:12 -!- hg [~halosghos@user/halosghost] has joined #secp256k1 07:15 -!- darosior [~darosior@194.36.189.246] has joined #secp256k1 07:37 < hebasto> all recent build system changes, including `noverify_tests` and `ctime_tests`, have been incorporated into the CMake-based build system -- https://github.com/bitcoin-core/secp256k1/pull/1113#issuecomment-1385613193 07:41 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 07:42 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 07:43 < real_or_random> > we could call __builtin_unreachable or whatever it is called instead. 07:43 < real_or_random> or better CHECK, it's probably a bug then :P 07:51 < real_or_random> hebasto: great... we should discuss how to proceed with this, i.e., if we want to merge now or if better doc of the options is a blocker 07:51 < hebasto> next irc meeting? 07:51 < real_or_random> yes sounds good 07:52 < hebasto> cool 07:52 < real_or_random> I don't think the docs are a blocker... I mean without the docs cmake is not really helpful but that doesn't need to dictate the order in which we do things. if the PR is ready, I think we should try to get it n 09:02 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 09:03 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #secp256k1 15:37 -!- hg [~halosghos@user/halosghost] has quit [Quit: WeeChat 3.8] --- Log closed Wed Jan 18 00:00:18 2023