Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/mfbt/tests/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 37 kB image not shown  

Quelle  TestMathAlgorithms.cpp

  Sprache: C
 

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */


#include "mozilla/MathAlgorithms.h"

#include <stdint.h>

using mozilla::IsPowerOfTwo;

static void TestIsPowerOfTwo() {
  static_assert(!IsPowerOfTwo(0u), "0 isn't a power of two");
  static_assert(IsPowerOfTwo(1u), "1 is a power of two");
  static_assert(IsPowerOfTwo(2u), "2 is a power of two");
  static_assert(!IsPowerOfTwo(3u), "3 isn't a power of two");
  static_assert(IsPowerOfTwo(4u), "4 is a power of two");
  static_assert(!IsPowerOfTwo(5u), "5 isn't a power of two");
  static_assert(!IsPowerOfTwo(6u), "6 isn't a power of two");
  static_assert(!IsPowerOfTwo(7u), "7 isn't a power of two");
  static_assert(IsPowerOfTwo(8u), "8 is a power of two");
  static_assert(!IsPowerOfTwo(9u), "9 isn't a power of two");

  static_assert(!IsPowerOfTwo(uint8_t(UINT8_MAX / 2)),
                "127, 0x7f isn't a power of two");
  static_assert(IsPowerOfTwo(uint8_t(UINT8_MAX / 2 + 1)),
                "128, 0x80 is a power of two");
  static_assert(!IsPowerOfTwo(uint8_t(UINT8_MAX / 2 + 2)),
                "129, 0x81 isn't a power of two");
  static_assert(!IsPowerOfTwo(uint8_t(UINT8_MAX - 1)),
                "254, 0xfe isn't a power of two");
  static_assert(!IsPowerOfTwo(uint8_t(UINT8_MAX)),
                "255, 0xff isn't a power of two");

  static_assert(!IsPowerOfTwo(uint16_t(UINT16_MAX / 2)),
                "0x7fff isn't a power of two");
  static_assert(IsPowerOfTwo(uint16_t(UINT16_MAX / 2 + 1)),
                "0x8000 is a power of two");
  static_assert(!IsPowerOfTwo(uint16_t(UINT16_MAX / 2 + 2)),
                "0x8001 isn't a power of two");
  static_assert(!IsPowerOfTwo(uint16_t(UINT16_MAX - 1)),
                "0xfffe isn't a power of two");
  static_assert(!IsPowerOfTwo(uint16_t(UINT16_MAX)),
                "0xffff isn't a power of two");

  static_assert(!IsPowerOfTwo(uint32_t(UINT32_MAX / 2)),
                "0x7fffffff isn't a power of two");
  static_assert(IsPowerOfTwo(uint32_t(UINT32_MAX / 2 + 1)),
                "0x80000000 is a power of two");
  static_assert(!IsPowerOfTwo(uint32_t(UINT32_MAX / 2 + 2)),
                "0x80000001 isn't a power of two");
  static_assert(!IsPowerOfTwo(uint32_t(UINT32_MAX - 1)),
                "0xfffffffe isn't a power of two");
  static_assert(!IsPowerOfTwo(uint32_t(UINT32_MAX)),
                "0xffffffff isn't a power of two");

  static_assert(!IsPowerOfTwo(uint64_t(UINT64_MAX / 2)),
                "0x7fffffffffffffff isn't a power of two");
  static_assert(IsPowerOfTwo(uint64_t(UINT64_MAX / 2 + 1)),
                "0x8000000000000000 is a power of two");
  static_assert(!IsPowerOfTwo(uint64_t(UINT64_MAX / 2 + 2)),
                "0x8000000000000001 isn't a power of two");
  static_assert(!IsPowerOfTwo(uint64_t(UINT64_MAX - 1)),
                "0xfffffffffffffffe isn't a power of two");
  static_assert(!IsPowerOfTwo(uint64_t(UINT64_MAX)),
                "0xffffffffffffffff isn't a power of two");
}

void TestGCD() {
  MOZ_RELEASE_ASSERT(mozilla::GCD(00) == 0);

  // clang-format off
  // import random
  // import math
  //
  // j = 0
  // testcases = [
  //     { "name": "signed 64-bits integers", "upper": (2**63)-1, "suffix": "" },
  //     { "name": "unsigned 64-bits integers", "upper": (2**64)-1, "suffix": "u" },
  //     { "name": "signed 32-bits integers", "upper": (2**31)-1, "suffix": "" },
  //     { "name": "unsigned 32-bits integers", "upper": (2**32)-1, "suffix": "u" },
  // ]
  // for case in testcases:
  //     print("")
  //     print(f"// {case['name']}")
  //     while True:
  //         a = random.randrange(0, case["upper"])
  //         b = random.randrange(0, a)
  //         res = math.gcd(a, b)
  //         j+=1
  //         suffix = case["suffix"]
  //         print(f'MOZ_RELEASE_ASSERT(mozilla::GCD({a}{suffix}, {b}{suffix}) == {res}{suffix});')
  //         if j == 100:
  //             j = 0
  //             break
  //
  // clang-format on

  // signed 64-bits integers
  MOZ_RELEASE_ASSERT(mozilla::GCD(68554234377844478815744152981668854128) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2560787397587345465208780102238346432) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(55778897160646574942159469434101077254) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(53499047653849500541944688623103480392) ==
                     18);
  MOZ_RELEASE_ASSERT(mozilla::GCD(65108872303097335404404045615056449988) ==
                     4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(51536634646862381903495293373406661950) ==
                     10);
  MOZ_RELEASE_ASSERT(mozilla::GCD(86404384566512391766172550763106125918) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(46363304751239955252504439215041170117) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(30496808289236988891798896016456058960) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6857469018143857254839235513850919013) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1667993323500460751403448480939209779) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(27567736855177939601001994517356200529) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5809484314452898314252378426271103138) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(57565667341440948403050839541929564330) ==
                     10);
  MOZ_RELEASE_ASSERT(mozilla::GCD(26694721171690596491053394704248223342) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(84863357440112145244866724521619209633) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(48415971910674371711862876789330567260) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(89406920640890497466136664682975600685) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6274111242168941448688426762929457484) ==
                     4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(77151329809947384351456592620536615117) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(56503399532332055454406664870835551648) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7763657864638523008306878184260935929) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(77760620973195021137551650059636008893) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(91586814102180293145401644381866109508) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(428865066965126615345306139889243757) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1334408785926182232736025095410140597) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(91290116078931063264818080883860535758) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(59683003989113118962550670869539540947) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(50301901813621728743861860193070954804) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5449912203994605772395450435226244945) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(35101496083128232961122015596295686144) ==
                     512);
  MOZ_RELEASE_ASSERT(mozilla::GCD(88224089239144283983005499570530356734) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(189425192074432437429251650223056432) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1643262375132697825133049278064101269) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(59797712680226110305021008984454830630) ==
                     10);
  MOZ_RELEASE_ASSERT(mozilla::GCD(85516310134824925693214028471848344275) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13742405992947241991106817149419837791) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(78774931970906162583627451313613172281) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(73231205722030174295958183356236253053) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(73567029479431263641234023498733740170) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(35336635359843126911287666490057924782) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(82496254106124367881692674983510387167) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(65905448829116400256518468963976945930) ==
                     5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(116170344290127039172640111759506406) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3648054318401558456286110734809583843) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(74451588801162650734921289272987608741) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(80521351136552848756319225376882653323) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1272523803145322419669368693174176828) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(762600464449954636258101161586809942) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(87115704560951754093217102356729157526) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(85964724854220716776590296624757765441) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(88302101691776563004853400012200083924) ==
                     4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(22414059407494180431414859858059940275) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(66453722266538828261089866326575332751) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(49720520915956876463420503469411720440) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(87966112323387808728344997795629414169) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(41098370867898442442749395249398063222) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(70990658682794362753485530390566515044) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1041731907675308955561481363772326233) ==
                     9);
  MOZ_RELEASE_ASSERT(mozilla::GCD(58822712986528030635189002859026699540) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(83507378392342119256853706366082462) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(25149461802071950491934146334993787393) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(89754392091289127471377234541321015082) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(70393559526033500336501349986472883135) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(37474746775428998872583298074596991574) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(81763232501449777804706420973964948943) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(87482607150551094207094433080013425893) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(21920850354433140421964458338792492837) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(43870590451333660801521989527531982075) ==
                     5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(57352773555947121611564786041102368131) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(38982106860256754181252531932064281967) ==
                     7);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1886253648955280570235795900409586307) ==
                     7);
  MOZ_RELEASE_ASSERT(mozilla::GCD(86221466957677642590702464427080315) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(28312060276544823982543050780384667441) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(35613776097888459272837335262531584639) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1973347825404473626634138253455209313) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(64477081340220602484346890077474767787) ==
                     19);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1690365172062143048678324119874104971) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2900650911116509049818833306053988358) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(41262586481850749372190040072639642009) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(73100837658927653773615506256861011852) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1482494462925181129568665115985247457) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(26754774648817713271476381757716745502) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6437060864565620566266707802567839796) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3800292251587454230245022706279648741) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(35495153437572594931328377263505490456) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8324574140787708570393444007055415700) ==
                     10);
  MOZ_RELEASE_ASSERT(mozilla::GCD(43730543213749237501031193918836627100) ==
                     150);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1370218692062991327682070501541164452) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(47288136694045134212346998232227619529) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(32086402385370698450178854177191437) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(54247108528937936024237974770221703674) ==
                     2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(51675828061256340153538730725111557853) ==
                     79);
  MOZ_RELEASE_ASSERT(mozilla::GCD(71979308589468835006668556859540800605) ==
                     5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(29000895935754775492554913303396097824) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1397576820519717048847997331257829237) ==
                     3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(39397143643540531621374067007308181723) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1065626084531260890664198963621954813) ==
                     317);
  MOZ_RELEASE_ASSERT(mozilla::GCD(59128763575144181965112700044139286313) ==
                     1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2654316726913809362588030922713986903) ==
                     1);

  // unsigned 64-bits integers
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(16747832015348854198u, 10986175599217457242u) == 2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(14011882763672869646u, 1150181481133900726u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6605029198216299492u, 2540177763690679863u) ==
                     3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8723446333453359635u, 5501999887069319528u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2056609692029140361u, 1456692183174011231u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3979920159703007405u, 2102351633956912159u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(9463892761763926474u, 5727651032816755587u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15074653294321365395u, 7500084005319994862u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7596876989397200146u, 2100623677138635163u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15788975435035111366u, 13949507094186899135u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(11511089994271140687u, 11202842908571961185u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5238481506779057035u, 1275096406977139452u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(10319988989820236521u, 6004256112028859859u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15363016657999062582u, 13709656670722381934u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1212882338768103987u, 400304873392680016u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(14516701884936382582u, 9474965125574306885u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4684990176797036518u, 2826010316418750908u) ==
                     2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1257550743165743081u, 501524040422212694u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2684107647237574540u, 1059404913392538915u) ==
                     5u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(9075798209725656040u, 8460431147770771484u) ==
                     4u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8849414266308239550u, 2100344973594953676u) ==
                     6u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(18235452615524492166u, 6948238589518088517u) == 3u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15050298436941428700u, 1467533438133155187u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8834598722016252963u, 4311275747815972852u) ==
                     17u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(9356558625132137133u, 2037947968328350721u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3849613153563955590u, 742698742609310596u) ==
                     2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(14456988562990139501u, 10112205238651656021u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12307508681986233124u, 9812326358082292497u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1542509761845906606u, 753342053499303952u) ==
                     2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3002452874498902380u, 1551203246991573851u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6995746439795805457u, 1188069610619158471u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2746395460341933223u, 2567350813567392270u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(13780256804547757349u, 3248441336598733689u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(11585262422698980788u, 9223319679416307971u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12061506913736835258u, 4388981418731026638u) == 54u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7926097431519628264u, 6609465824726553267u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4869073093357623730u, 127092341961569309u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2415749375652736599u, 1225333195065764619u) ==
                     3u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12396258519293261927u, 7854932518032305093u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8482841866529133449u, 8041279973223483861u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6256232276718808317u, 218093546248209886u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8708964372422992556u, 5925839455605803265u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7079489553626522083u, 2723660727447617723u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6456428365552053201u, 1199403261032183111u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3346567208089938575u, 2383119761029013459u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(11371634586699820652u, 1314783250642191861u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(17865943339510318926u, 6852058968402585010u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6184068614737379672u, 3615164034002231440u) ==
                     8u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4188759555626894588u, 756597961380253895u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(9834711092513827417u, 3337572906055372223u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15971004526745900665u, 8185256010881285296u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(15018742812984668959u, 529070670894924960u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1067863751656464299u, 905318428655384382u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(13862829046112265837u, 6101005940549725663u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5042641015440071021u, 3851032995323622058u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12302889786666538640u, 10776548976024201292u) == 76u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(13722399417473040071u, 9411461429949802122u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7320504128957551347u, 54052915134765261u) ==
                     3u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15757615267691124901u, 6960991167654285257u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5748033181727727936u, 303811493931685833u) ==
                     3u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(13393585076101458038u, 11704741982068090192u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1305962146520003941u, 900947650687182151u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(10210329619324275486u, 9165444096209531122u) == 2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12287397750298100333u, 4589303685754232593u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(13074046732385479094u, 9410427502131685240u) == 2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(10769225306727183116u, 3766083633148275570u) == 2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(16097129444752648454u, 1689032025737433449u) == 1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12569058547490329992u, 3311470626838389990u) == 18u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6800922789750937338u, 1401809431753492506u) ==
                     6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7640775166765881526u, 330467034911649653u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(7713745971481011689u, 2881741428874316968u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3447718804232188171u, 2048968371582835027u) ==
                     17u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5048117340512952935u, 2723523492436699844u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(10307361968692211723u, 428905266774914488u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1319115090575683914u, 1262779939989801116u) ==
                     2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12690110976610715926u, 1527151730024909348u) == 2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(12963032302522784237u, 8894543024067386192u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4719664701853305298u, 328290838903591497u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6046363361224867225u, 2463351775539510194u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(467063656725960574u, 62796777888499328u) ==
                     2u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(16390445286228133923u, 3793827091023779027u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3118497337756941652u, 2860811741849353064u) ==
                     4u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(17480668716240157222u, 6736393718990377613u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3008091962262081749u, 2764474578829797968u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(10443605258088065132u, 1118236736154633837u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(8681282777233478597u, 2520450074320754822u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2428054799146631800u, 2304419668216461210u) ==
                     10u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(11986346113373252908u, 5868466983065345812u) == 4u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(566070446598076689u, 226910043938150340u) ==
                     3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20286446051392853u, 2253005103754547u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(9478145873341733534u, 1361277916695374175u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2194077616952029858u, 1880982148321238243u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5067528875217388843u, 1007391120419508106u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(14964775244731205772u, 8476706085421248933u) == 3u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(15864657026011160414u, 11542748143033682677u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(6819186727513097073u, 3374817819083626717u) ==
                     1u);
  MOZ_RELEASE_ASSERT(
      mozilla::GCD(14864653919493481829u, 1475678482546800916u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(674964986925038761u, 500070581922501698u) ==
                     1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5286379749864372936u, 1077542296477907313u) ==
                     3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(506827427986892036u, 177356571976309469u) ==
                     1u);

  // signed 32-bits integers
  MOZ_RELEASE_ASSERT(mozilla::GCD(20828475591075502059) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(15168178801427978452) == 4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1912103032865754441) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(19079980281578360455) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20827863441864664012) == 4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20609610111928455778) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(97066465963074065) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(5596090136955491) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1136602528339758054) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20404205821355439044) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1295522905736231412) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(778941225674482877) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(291862772262751987) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(23327501860278627) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(701740307432255046) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(582766531457298210) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(19636904615577226) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13421568372790339) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(502348102151073265) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(836867611797891653) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(859055751525520896) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(701234220683730404) == 4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(21022534691046820362) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(171269145334616585) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1074235876683609889) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(535965177182306069) == 11);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1437763442180698008) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2005641602175306737) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(803294953565920364) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2135931435220153322) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1002010726619364124) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1841159587577256747) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2117547620896973794) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2004836234157238204) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(952368407625062194) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(671144794357719289) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1369585680279330845) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(389855496230820785) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2101505071572728762) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1657802296667524476) == 4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1007298072598682608) == 8);
  MOZ_RELEASE_ASSERT(mozilla::GCD(149919381644129206) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13557997231163556923) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(346410469294136125) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(240297386239749630) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1595986655706220030) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(265850446117414954) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1594478812559606261) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1098933117145267674) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3774919534174284) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(173141528158277345) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(15233167791507242666) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1574321272213222586) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(18624158258675779) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13510248761256961567) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20608715031626844669) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(794617235606782933) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(620853401550785717) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(978990617684228903) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(185414372160958435) == 11);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1388627510781501) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(31644541072994145) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(26068583366561321) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(656788852619471100) == 4);
  MOZ_RELEASE_ASSERT(mozilla::GCD(409924450323144710) == 10);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1696374689155122424) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(17204494951332196090) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(10250486895625294) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(959039064266180243) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(77176273899126507) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1666721205164347293) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(11458687261013299840) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1236670356968726) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(856285310669026117) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1748843942376021862) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13643819421316920424) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(376501104233350000) == 16);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1516376773554534905) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1355209533371401397) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(488029245453641230) == 5);
  MOZ_RELEASE_ASSERT(mozilla::GCD(20867825351965901533) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1701843138197489892) == 6);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1857287302756127018) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1806613582963087217) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(13507083881013432485) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(742201232486590366) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4737825518524009) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(750926792282203477) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(12424682721225593358) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(19373379471233008310) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(600511783563234297) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(15838951131400349394) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(36195044620294144) == 26);
  MOZ_RELEASE_ASSERT(mozilla::GCD(712527923351368901) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(22125288613768150) == 2);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1217530242184772639) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(114552258092958612) == 12);
  MOZ_RELEASE_ASSERT(mozilla::GCD(17658540481073605551) == 3);
  MOZ_RELEASE_ASSERT(mozilla::GCD(11792581121148756377) == 1);
  MOZ_RELEASE_ASSERT(mozilla::GCD(211982661145365362) == 1);

  // unsigned 32-bits integers
  MOZ_RELEASE_ASSERT(mozilla::GCD(2346624228u, 854636854u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(257647411u, 113262213u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(532130107u, 181815062u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(188329196u, 21767880u) == 4u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(965417460u, 433449910u) == 10u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4285939108u, 782087256u) == 4u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3176833937u, 905249796u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1596497177u, 1259467765u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(296928708u, 137867254u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(810260571u, 278688539u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2319673546u, 6698908u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(335032855u, 304923748u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1520046075u, 30861208u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3370242674u, 2513781509u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2380615411u, 41999289u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2999947090u, 619047913u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(463491935u, 219826435u) == 5u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(256795166u, 3240595u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3794760062u, 542176354u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2347135107u, 532837578u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(215263644u, 82185110u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3242470340u, 1014909501u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1935066897u, 1646318370u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2528019825u, 2199478105u) == 5u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(814340701u, 505422837u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2422005621u, 1270490106u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2196878780u, 2125974315u) == 5u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3243580525u, 3222120645u) == 5u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(592838u, 333273u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(957856834u, 660922287u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2650657380u, 2507896759u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(35861051u, 25878355u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1907977010u, 514369620u) == 10u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1850153182u, 1133466079u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2404132308u, 942620249u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4120768767u, 794728522u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3115077311u, 437206010u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3653354572u, 3501340268u) == 4u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3700775106u, 1237309608u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3838425682u, 2767520531u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(812123689u, 691153768u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3201500844u, 1530832674u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(802121923u, 753535009u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(575392026u, 450096822u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1074039450u, 724299558u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3785968159u, 230568577u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(80611731u, 30537579u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3717744094u, 3192172824u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3481208739u, 3389567399u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1126134290u, 760589919u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2452072599u, 1235840929u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4172574373u, 664346996u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4280275945u, 1940565231u) == 11u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1138803378u, 919205598u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3871971423u, 3071143517u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1889403334u, 261936800u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1233462464u, 462090021u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(267801361u, 177041892u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1586528261u, 1146114428u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2209381020u, 1616518545u) == 15u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2493819993u, 110364986u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(105420984u, 83814372u) == 12u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3093899047u, 917349662u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3716325890u, 1554865432u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(692565714u, 265467690u) == 18u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(659720171u, 250624014u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1890623148u, 1632453222u) == 6u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3557986303u, 752931252u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(237903157u, 177153319u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4133928804u, 3898800943u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1783300920u, 196251347u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2035190407u, 866039372u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3893680107u, 3211053018u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4293646715u, 2698207329u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1409442959u, 151043902u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1823328305u, 375231671u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2574512647u, 1902834298u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2533783127u, 1232079823u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2622446878u, 193328426u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4099571222u, 3439224331u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2355797345u, 430435034u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2654318392u, 2069135952u) == 8u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1671976410u, 1100794671u) == 3u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(328877177u, 236038245u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2373247523u, 1198763899u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3230550971u, 203517406u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2274958703u, 353643804u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1048415366u, 740416576u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2768590397u, 843179468u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2839858158u, 1019946790u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4116867766u, 52672530u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3433787325u, 2398189631u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2636022376u, 2289412838u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(2904900253u, 2748915828u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(4041240379u, 605321815u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1730010566u, 92436785u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1362635513u, 757365378u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(1327133482u, 940350094u) == 2u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(3515019959u, 810874750u) == 1u);
  MOZ_RELEASE_ASSERT(mozilla::GCD(82871503u, 43900000u) == 1u);

  MOZ_RELEASE_ASSERT(mozilla::GCD(3u, 7u) == 1u);
}

int main() {
  TestIsPowerOfTwo();
  TestGCD();

  return 0;
}

Messung V0.5 in Prozent
C=92 H=100 G=95

¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet am  2026-06-05) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.