mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00
math.big: fix big_mod_pow() (#24939)
This commit is contained in:
parent
46d4a6f8af
commit
080b56f0a9
2 changed files with 19 additions and 5 deletions
|
@ -480,6 +480,24 @@ const big_mod_pow_test_data = [
|
|||
'31195165372897259196222538898096203590151924108450147950531565441852619837316692843188389598728651769482088968838700984268947453885587967878549286444999755742573423371025356539077075265986419171772426279084559025861175301940492273427120221755816136975739916983004778387946699939545354293487098252428954036286183995782377175227121587657233553706589448547148066273280603243167958729707736664649187444136702017299877489729451997277875868782399735511520086969969766278182145454186690598629675562422923132555707758646587702550600894625696538109646366308973392363200122154242784576162149305816215109893613161331026672647000825615987247035266514313689413563779184515427920269935280569035788081552413007563772309295149800172031645681720569680154349893907395864528243629654386620034655445226295834594630792819545156798270599481573436039129275439653984521135652249263653985326577886990615665734998585216581730937090703518997669223802429711292740491797911117308280939507973715877108492303860661291987529284719391551256912380499409630332506454532263266457209921483705507359152839264852808182519011100934922492651373859423833024010283468753147686188675294998119637462200763443029190704825719342806119404339670408160210011918981038977425180213726646978883378058838510330816291941879581568740273684084511318422175006728346276489384220596694727036836687670632486602655240593463885077059375085482211864761344849868123074687509143827139683659102930877963676911995751113159944160296419825178911962487549670296207457410515598040046860567719116506974858703739531721991704589155513182996455827177472',
|
||||
'20080128881481836026329919458482291336427826856257996902940216961274769492432457342329585911526680598599706497937330675336231322550089070961997878231160797014417182095610964306078005177657705895303701167263611016504813896879268670353690809857529479048652197026092060293580162938995900771157020773980149060390600886988165389386800313399935681668574561849644795370126640258861886083152431680309682414362667647047408205246634496700184520404072535696087062725321498879508195864728319264953502905783599235208616928912295007582161378604427602444176983900856363236858555001132922259491209136145654862306503211818341793436738181575298025051779368026867674815572620689517665845691581156037531328681002192885908572782500210185856071870996928958700199226442991667291661898788475465881534872952976564959204125435567408766407069080824764398534937188392006557445009391997597405999602710062336419706104598663078108578494090878260551511868925451048198114479011315931259263368212342695453474607592164864833976245439378166385649596428707473508482940426102862136582304433403471613967149235623865180698593404828164563801111816849132293956996556247415009648932020221786934682827799748481777622180801590275002765776928805756187584952776044614940158088391767782343033313716059721086499569092199761880797791493764006487948292742803823944731896556184944138299575510183812680359579022267096795084742403276965131310267236257021618824374001979653996305168583849734973984410291953747451176667816227487401602863864660642232048020325795772190251487050535547981550465960228478297407995702324941118877701015321',
|
||||
},
|
||||
BigModPowTest{
|
||||
'919883988246145022313927375667609631628',
|
||||
'11258911920206359584',
|
||||
'10961431611736082634',
|
||||
'3987973861467626556',
|
||||
},
|
||||
BigModPowTest{
|
||||
'319978239103006490429056663053051872523340306',
|
||||
'3450311374119871456',
|
||||
'16136980157234240016',
|
||||
'6495281920355297920',
|
||||
},
|
||||
BigModPowTest{
|
||||
'6572721605915324110691520672890333438736158723396',
|
||||
'8598931276445806048',
|
||||
'6234270195866676796',
|
||||
'2267960990325264040',
|
||||
},
|
||||
]
|
||||
// vfmt on
|
||||
|
||||
|
|
|
@ -224,11 +224,7 @@ fn (a Integer) exp_binary(x Integer, m Integer) Integer {
|
|||
mut r := one_int
|
||||
|
||||
mut start := true
|
||||
mut wstart := if x.bit_len() - 1 > n {
|
||||
int(n)
|
||||
} else {
|
||||
x.bit_len() - 1
|
||||
}
|
||||
mut wstart := x.bit_len() - 1
|
||||
mut wend := 0
|
||||
mut wvalue := 1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue