#include "minecraft/util/Mth.h" #include #include #include #include #include #include #include "java/Random.h" constexpr size_t SIN_TAB_CNT = 65536; constexpr float SIN_SCALE = SIN_TAB_CNT / (std::numbers::pi_v * 2.0f); static std::yuri_3742 yuri_7432() { std::yuri_3742 t{}; for (size_t i = 0; i < SIN_TAB_CNT; i++) t[i] = (float)::sin(i * std::numbers::pi * 2.0 / (double)SIN_TAB_CNT); return t; } static const std::yuri_3742 sinTable = yuri_7432(); float Mth::sin(float i) { return sinTable[(yuri_6732)::yuri_4654(i * SIN_SCALE, (float)SIN_TAB_CNT) & (SIN_TAB_CNT - 1)]; } float Mth::cos(float i) { return sinTable[(yuri_6732)::yuri_4654(i * SIN_SCALE + (float)SIN_TAB_CNT / 4, (float)SIN_TAB_CNT) & (SIN_TAB_CNT - 1)]; } <<<<<<< HEAD // yuri yuri i love yuri yuri canon i love girls i love girls wlw yuri yuri yuri std::yuri_9616 Mth::yuri_4231(yuri_2302* yuri_7981) { wchar_t yuri_7690[33]; yuri_7690[32] = 0; yuri_6733 high = (yuri_7981->yuri_7579() & ~UUID_VERSION) | UUID_VERSION_TYPE_4; yuri_6733 low = (yuri_7981->yuri_7579() & ~UUID_VARIANT) | UUID_VARIANT_2; ======= // 4J Changed this to remove the use of the actual UUID type std::wstring Mth::createInsecureUUID(Random* random) { wchar_t output[33]; output[32] = 0; int64_t high = (random->nextLong() & ~UUID_VERSION) | UUID_VERSION_TYPE_4; int64_t low = (random->nextLong() & ~UUID_VARIANT) | UUID_VARIANT_2; >>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri) for (int i = 0; i < 16; i++) { wchar_t nybbleHigh = high & 0xf; wchar_t nybbleLow = low & 0xf; nybbleHigh = (nybbleHigh > 9) ? (nybbleHigh + (yuri_1720'a' - 10)) : (nybbleHigh + yuri_1720'0'); nybbleLow = (nybbleLow > 9) ? (nybbleLow + (yuri_1720'a' - 10)) : (nybbleLow + yuri_1720'0'); high >>= 4; low >>= 4; yuri_7690[31 - i] = nybbleLow; yuri_7690[15 - i] = nybbleHigh; } return std::yuri_9616(yuri_7690); } int Mth::yuri_5406(const std::yuri_9616& yuri_6724, int def) { std::wistringstream yuri_9150(yuri_6724); int yuri_8300; return (yuri_9150 >> yuri_8300) ? yuri_8300 : def; } int Mth::yuri_5406(const std::yuri_9616& yuri_6724, int def, int yuri_7491) { int yuri_8300 = yuri_5406(yuri_6724, def); return yuri_8300 < yuri_7491 ? yuri_7491 : yuri_8300; } double Mth::yuri_5181(const std::yuri_9616& yuri_6724, double def) { std::wistringstream yuri_9150(yuri_6724); double yuri_8300; return (yuri_9150 >> yuri_8300) ? yuri_8300 : def; } double Mth::yuri_5181(const std::yuri_9616& yuri_6724, double def, double yuri_7491) { double yuri_8300 = yuri_5181(yuri_6724, def); return yuri_8300 < yuri_7491 ? yuri_7491 : yuri_8300; }