123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059 |
- // table of quotients and remainders for [-15...16] / [-15...16]
- // numerator = -15
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {1, -5},
- {1, -6},
- {1, -7},
- {2, -1},
- {2, -3},
- {3, 0},
- {3, -3},
- {5, 0},
- {7, -1},
- {15, 0},
- {0, 0},
- {-15, 0},
- {-8, 1},
- {-5, 0},
- {-4, 1},
- {-3, 0},
- {-3, 3},
- {-3, 6},
- {-2, 1},
- {-2, 3},
- {-2, 5},
- {-2, 7},
- {-2, 9},
- {-2, 11},
- {-2, 13},
- {-1, 0},
- {-1, 1},
- // numerator = -14
- {0, -14},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {1, -5},
- {1, -6},
- {2, 0},
- {2, -2},
- {2, -4},
- {3, -2},
- {4, -2},
- {7, 0},
- {14, 0},
- {0, 0},
- {-14, 0},
- {-7, 0},
- {-5, 1},
- {-4, 2},
- {-3, 1},
- {-3, 4},
- {-2, 0},
- {-2, 2},
- {-2, 4},
- {-2, 6},
- {-2, 8},
- {-2, 10},
- {-2, 12},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- // numerator = -13
- {0, -13},
- {0, -13},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {1, -5},
- {1, -6},
- {2, -1},
- {2, -3},
- {3, -1},
- {4, -1},
- {6, -1},
- {13, 0},
- {0, 0},
- {-13, 0},
- {-7, 1},
- {-5, 2},
- {-4, 3},
- {-3, 2},
- {-3, 5},
- {-2, 1},
- {-2, 3},
- {-2, 5},
- {-2, 7},
- {-2, 9},
- {-2, 11},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- // numerator = -12
- {0, -12},
- {0, -12},
- {0, -12},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {1, -5},
- {2, 0},
- {2, -2},
- {3, 0},
- {4, 0},
- {6, 0},
- {12, 0},
- {0, 0},
- {-12, 0},
- {-6, 0},
- {-4, 0},
- {-3, 0},
- {-3, 3},
- {-2, 0},
- {-2, 2},
- {-2, 4},
- {-2, 6},
- {-2, 8},
- {-2, 10},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- // numerator = -11
- {0, -11},
- {0, -11},
- {0, -11},
- {0, -11},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {1, -5},
- {2, -1},
- {2, -3},
- {3, -2},
- {5, -1},
- {11, 0},
- {0, 0},
- {-11, 0},
- {-6, 1},
- {-4, 1},
- {-3, 1},
- {-3, 4},
- {-2, 1},
- {-2, 3},
- {-2, 5},
- {-2, 7},
- {-2, 9},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- // numerator = -10
- {0, -10},
- {0, -10},
- {0, -10},
- {0, -10},
- {0, -10},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {2, 0},
- {2, -2},
- {3, -1},
- {5, 0},
- {10, 0},
- {0, 0},
- {-10, 0},
- {-5, 0},
- {-4, 2},
- {-3, 2},
- {-2, 0},
- {-2, 2},
- {-2, 4},
- {-2, 6},
- {-2, 8},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- // numerator = -9
- {0, -9},
- {0, -9},
- {0, -9},
- {0, -9},
- {0, -9},
- {0, -9},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {1, -4},
- {2, -1},
- {3, 0},
- {4, -1},
- {9, 0},
- {0, 0},
- {-9, 0},
- {-5, 1},
- {-3, 0},
- {-3, 3},
- {-2, 1},
- {-2, 3},
- {-2, 5},
- {-2, 7},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- // numerator = -8
- {0, -8},
- {0, -8},
- {0, -8},
- {0, -8},
- {0, -8},
- {0, -8},
- {0, -8},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {2, 0},
- {2, -2},
- {4, 0},
- {8, 0},
- {0, 0},
- {-8, 0},
- {-4, 0},
- {-3, 1},
- {-2, 0},
- {-2, 2},
- {-2, 4},
- {-2, 6},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- // numerator = -7
- {0, -7},
- {0, -7},
- {0, -7},
- {0, -7},
- {0, -7},
- {0, -7},
- {0, -7},
- {0, -7},
- {1, 0},
- {1, -1},
- {1, -2},
- {1, -3},
- {2, -1},
- {3, -1},
- {7, 0},
- {0, 0},
- {-7, 0},
- {-4, 1},
- {-3, 2},
- {-2, 1},
- {-2, 3},
- {-2, 5},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- // numerator = -6
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {0, -6},
- {1, 0},
- {1, -1},
- {1, -2},
- {2, 0},
- {3, 0},
- {6, 0},
- {0, 0},
- {-6, 0},
- {-3, 0},
- {-2, 0},
- {-2, 2},
- {-2, 4},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- // numerator = -5
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {0, -5},
- {1, 0},
- {1, -1},
- {1, -2},
- {2, -1},
- {5, 0},
- {0, 0},
- {-5, 0},
- {-3, 1},
- {-2, 1},
- {-2, 3},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- {-1, 11},
- // numerator = -4
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {0, -4},
- {1, 0},
- {1, -1},
- {2, 0},
- {4, 0},
- {0, 0},
- {-4, 0},
- {-2, 0},
- {-2, 2},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- {-1, 11},
- {-1, 12},
- // numerator = -3
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {0, -3},
- {1, 0},
- {1, -1},
- {3, 0},
- {0, 0},
- {-3, 0},
- {-2, 1},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- {-1, 11},
- {-1, 12},
- {-1, 13},
- // numerator = -2
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {0, -2},
- {1, 0},
- {2, 0},
- {0, 0},
- {-2, 0},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- {-1, 11},
- {-1, 12},
- {-1, 13},
- {-1, 14},
- // numerator = -1
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {0, -1},
- {1, 0},
- {0, 0},
- {-1, 0},
- {-1, 1},
- {-1, 2},
- {-1, 3},
- {-1, 4},
- {-1, 5},
- {-1, 6},
- {-1, 7},
- {-1, 8},
- {-1, 9},
- {-1, 10},
- {-1, 11},
- {-1, 12},
- {-1, 13},
- {-1, 14},
- {-1, 15},
- // numerator = 0
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- {0, 0},
- // numerator = 1
- {-1, -14},
- {-1, -13},
- {-1, -12},
- {-1, -11},
- {-1, -10},
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {0, 0},
- {1, 0},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- {0, 1},
- // numerator = 2
- {-1, -13},
- {-1, -12},
- {-1, -11},
- {-1, -10},
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, 0},
- {0, 0},
- {2, 0},
- {1, 0},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- {0, 2},
- // numerator = 3
- {-1, -12},
- {-1, -11},
- {-1, -10},
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -1},
- {-3, 0},
- {0, 0},
- {3, 0},
- {1, 1},
- {1, 0},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- {0, 3},
- // numerator = 4
- {-1, -11},
- {-1, -10},
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -2},
- {-2, 0},
- {-4, 0},
- {0, 0},
- {4, 0},
- {2, 0},
- {1, 1},
- {1, 0},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- {0, 4},
- // numerator = 5
- {-1, -10},
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -3},
- {-2, -1},
- {-3, -1},
- {-5, 0},
- {0, 0},
- {5, 0},
- {2, 1},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- {0, 5},
- // numerator = 6
- {-1, -9},
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, 0},
- {-6, 0},
- {0, 0},
- {6, 0},
- {3, 0},
- {2, 0},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- {0, 6},
- // numerator = 7
- {-1, -8},
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -5},
- {-2, -3},
- {-2, -1},
- {-3, -2},
- {-4, -1},
- {-7, 0},
- {0, 0},
- {7, 0},
- {3, 1},
- {2, 1},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- {0, 7},
- // numerator = 8
- {-1, -7},
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -6},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, -1},
- {-4, 0},
- {-8, 0},
- {0, 0},
- {8, 0},
- {4, 0},
- {2, 2},
- {2, 0},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 8},
- {0, 8},
- {0, 8},
- {0, 8},
- {0, 8},
- {0, 8},
- {0, 8},
- {0, 8},
- // numerator = 9
- {-1, -6},
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -7},
- {-2, -5},
- {-2, -3},
- {-2, -1},
- {-3, -3},
- {-3, 0},
- {-5, -1},
- {-9, 0},
- {0, 0},
- {9, 0},
- {4, 1},
- {3, 0},
- {2, 1},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 9},
- {0, 9},
- {0, 9},
- {0, 9},
- {0, 9},
- {0, 9},
- {0, 9},
- // numerator = 10
- {-1, -5},
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -8},
- {-2, -6},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, -2},
- {-4, -2},
- {-5, 0},
- {-10, 0},
- {0, 0},
- {10, 0},
- {5, 0},
- {3, 1},
- {2, 2},
- {2, 0},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 10},
- {0, 10},
- {0, 10},
- {0, 10},
- {0, 10},
- {0, 10},
- // numerator = 11
- {-1, -4},
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -9},
- {-2, -7},
- {-2, -5},
- {-2, -3},
- {-2, -1},
- {-3, -4},
- {-3, -1},
- {-4, -1},
- {-6, -1},
- {-11, 0},
- {0, 0},
- {11, 0},
- {5, 1},
- {3, 2},
- {2, 3},
- {2, 1},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 11},
- {0, 11},
- {0, 11},
- {0, 11},
- {0, 11},
- // numerator = 12
- {-1, -3},
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -10},
- {-2, -8},
- {-2, -6},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, -3},
- {-3, 0},
- {-4, 0},
- {-6, 0},
- {-12, 0},
- {0, 0},
- {12, 0},
- {6, 0},
- {4, 0},
- {3, 0},
- {2, 2},
- {2, 0},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 12},
- {0, 12},
- {0, 12},
- {0, 12},
- // numerator = 13
- {-1, -2},
- {-1, -1},
- {-1, 0},
- {-2, -11},
- {-2, -9},
- {-2, -7},
- {-2, -5},
- {-2, -3},
- {-2, -1},
- {-3, -5},
- {-3, -2},
- {-4, -3},
- {-5, -2},
- {-7, -1},
- {-13, 0},
- {0, 0},
- {13, 0},
- {6, 1},
- {4, 1},
- {3, 1},
- {2, 3},
- {2, 1},
- {1, 6},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 13},
- {0, 13},
- {0, 13},
- // numerator = 14
- {-1, -1},
- {-1, 0},
- {-2, -12},
- {-2, -10},
- {-2, -8},
- {-2, -6},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, -4},
- {-3, -1},
- {-4, -2},
- {-5, -1},
- {-7, 0},
- {-14, 0},
- {0, 0},
- {14, 0},
- {7, 0},
- {4, 2},
- {3, 2},
- {2, 4},
- {2, 2},
- {2, 0},
- {1, 6},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 14},
- {0, 14},
- // numerator = 15
- {-1, 0},
- {-2, -13},
- {-2, -11},
- {-2, -9},
- {-2, -7},
- {-2, -5},
- {-2, -3},
- {-2, -1},
- {-3, -6},
- {-3, -3},
- {-3, 0},
- {-4, -1},
- {-5, 0},
- {-8, -1},
- {-15, 0},
- {0, 0},
- {15, 0},
- {7, 1},
- {5, 0},
- {3, 3},
- {3, 0},
- {2, 3},
- {2, 1},
- {1, 7},
- {1, 6},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
- {0, 15},
- // numerator = 16
- {-2, -14},
- {-2, -12},
- {-2, -10},
- {-2, -8},
- {-2, -6},
- {-2, -4},
- {-2, -2},
- {-2, 0},
- {-3, -5},
- {-3, -2},
- {-4, -4},
- {-4, 0},
- {-6, -2},
- {-8, 0},
- {-16, 0},
- {0, 0},
- {16, 0},
- {8, 0},
- {5, 1},
- {4, 0},
- {3, 1},
- {2, 4},
- {2, 2},
- {2, 0},
- {1, 7},
- {1, 6},
- {1, 5},
- {1, 4},
- {1, 3},
- {1, 2},
- {1, 1},
- {1, 0},
|