// // Generated By: dol2asm // Translation Unit: functionvalue // #include "JSystem/JStudio/JStudio/functionvalue.h" #include "JSystem/JUtility/JUTException.h" #include "MSL_C/math.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // namespace JGadget { template void findUpperBound_binary_current(/* ... */); }; // namespace JGadget namespace std { template struct less {}; /* less */ struct less__template0 {}; template void upper_bound(/* ... */); /* 80283EB8 */ /* std::upper_bound> */ void func_80283EB8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&, std::less); /* 80283E24 */ /* std::upper_bound> */ void func_80283E24(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&, std::less); }; // namespace std namespace JGadget { /* 80283858 */ void func_80283858(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&); /* 802835DC */ void func_802835DC(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&); /* 80283634 */ void func_80283634(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&, std::less); /* 802838C8 */ void func_802838C8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&, std::less); } // namespace JGadget // // Forward References: // extern "C" void toFunction_outside__Q27JStudio14TFunctionValueFi(); extern "C" void __ct__Q27JStudio14TFunctionValueFv(); extern "C" void __dt__Q27JStudio14TFunctionValueFv(); extern "C" void refer_initialize__Q27JStudio29TFunctionValueAttribute_referFv(); extern "C" void interpolateValue_hermite__Q27JStudio13functionvalueFddddddd(); extern "C" void interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd(); extern "C" void interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd(); extern "C" void extrapolateParameter_turn__Q27JStudio13functionvalueFdd(); extern "C" void range_initialize__Q27JStudio29TFunctionValueAttribute_rangeFv(); extern "C" void range_prepare__Q27JStudio29TFunctionValueAttribute_rangeFv(); extern "C" void range_set__Q27JStudio29TFunctionValueAttribute_rangeFdd(); extern "C" void range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd(); extern "C" void __ct__Q27JStudio29TFunctionValueAttribute_rangeFv(); extern "C" void __ct__Q27JStudio24TFunctionValue_compositeFv(); extern "C" bool getType__Q27JStudio24TFunctionValue_compositeCFv(); extern "C" void getAttributeSet__Q27JStudio24TFunctionValue_compositeFv(); extern "C" void initialize__Q27JStudio24TFunctionValue_compositeFv(); extern "C" void prepare__Q27JStudio24TFunctionValue_compositeFv(); extern "C" void getValue__Q27JStudio24TFunctionValue_compositeFd(); extern "C" void func_80281E5C(); extern "C" void func_80281EC8(); extern "C" void func_8028202C(); extern "C" void func_80282094(); extern "C" void func_80282118(); extern "C" void func_80282200(); extern "C" void func_80282284(); extern "C" void __ct__Q27JStudio23TFunctionValue_constantFv(); extern "C" s32 getType__Q27JStudio23TFunctionValue_constantCFv(); extern "C" void getAttributeSet__Q27JStudio23TFunctionValue_constantFv(); extern "C" void initialize__Q27JStudio23TFunctionValue_constantFv(); extern "C" void prepare__Q27JStudio23TFunctionValue_constantFv(); extern "C" void getValue__Q27JStudio23TFunctionValue_constantFd(); extern "C" void __ct__Q27JStudio25TFunctionValue_transitionFv(); extern "C" s32 getType__Q27JStudio25TFunctionValue_transitionCFv(); extern "C" void getAttributeSet__Q27JStudio25TFunctionValue_transitionFv(); extern "C" void initialize__Q27JStudio25TFunctionValue_transitionFv(); extern "C" void prepare__Q27JStudio25TFunctionValue_transitionFv(); extern "C" void getValue__Q27JStudio25TFunctionValue_transitionFd(); extern "C" void __ct__Q27JStudio19TFunctionValue_listFv(); extern "C" s32 getType__Q27JStudio19TFunctionValue_listCFv(); extern "C" void getAttributeSet__Q27JStudio19TFunctionValue_listFv(); extern "C" void initialize__Q27JStudio19TFunctionValue_listFv(); extern "C" void prepare__Q27JStudio19TFunctionValue_listFv(); extern "C" void getValue__Q27JStudio19TFunctionValue_listFd(); extern "C" void update_INTERPOLATE_NONE___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_(); extern "C" void update_INTERPOLATE_LINEAR___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_(); extern "C" void update_INTERPOLATE_PLATEAU___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_(); extern "C" void update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_(); extern "C" void __ct__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" s32 getType__Q27JStudio29TFunctionValue_list_parameterCFv(); extern "C" void getAttributeSet__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void data_set__Q27JStudio29TFunctionValue_list_parameterFPCfUl(); extern "C" void initialize__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void prepare__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void getValue__Q27JStudio29TFunctionValue_list_parameterFd(); extern "C" void update_INTERPOLATE_NONE___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd(); extern "C" void update_INTERPOLATE_LINEAR___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd(); extern "C" void update_INTERPOLATE_PLATEAU___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd(); extern "C" void update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd(); extern "C" void __ct__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" s32 getType__Q27JStudio22TFunctionValue_hermiteCFv(); extern "C" void getAttributeSet__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" void data_set__Q27JStudio22TFunctionValue_hermiteFPCfUlUl(); extern "C" void initialize__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" void prepare__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" void getValue__Q27JStudio22TFunctionValue_hermiteFd(); extern "C" void extrapolateParameter_raw__Q27JStudio13functionvalueFdd(); extern "C" void extrapolateParameter_repeat__Q27JStudio13functionvalueFdd(); extern "C" void extrapolateParameter_clamp__Q27JStudio13functionvalueFdd(); extern "C" void func_802835DC(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&); extern "C" void func_80283634(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&, std::less); extern "C" void func_80283858(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&); extern "C" void func_802838C8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&, std::less); extern "C" void __dt__Q27JStudio22TFunctionValue_hermiteFv(); extern "C" void __dt__Q27JStudio29TFunctionValue_list_parameterFv(); extern "C" void __dt__Q27JStudio19TFunctionValue_listFv(); extern "C" void __dt__Q27JStudio25TFunctionValue_transitionFv(); extern "C" void __dt__Q27JStudio23TFunctionValue_constantFv(); extern "C" void __dt__Q27JStudio24TFunctionValue_compositeFv(); extern "C" void func_80283E24(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_, JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&, std::less); extern "C" void func_80283EB8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_, JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&, std::less); // // External References: // extern "C" void __dl__FPv(); extern "C" void func_802DCCD0(); extern "C" void __dt__Q27JGadget20TVector_pointer_voidFv(); extern "C" void erase__Q27JGadget20TVector_pointer_voidFPPvPPv(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savefpr_29(); extern "C" void _restfpr_29(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" void div(); /* ############################################################################################## */ /* 803C48E0-803C4900 021A00 0020+00 2/2 1/1 0/0 .data __vt__Q27JStudio22TFunctionValue_hermite */ SECTION_DATA extern void* __vt__Q27JStudio22TFunctionValue_hermite[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio22TFunctionValue_hermiteFv, (void*)getType__Q27JStudio22TFunctionValue_hermiteCFv, (void*)getAttributeSet__Q27JStudio22TFunctionValue_hermiteFv, (void*)initialize__Q27JStudio22TFunctionValue_hermiteFv, (void*)prepare__Q27JStudio22TFunctionValue_hermiteFv, (void*)getValue__Q27JStudio22TFunctionValue_hermiteFd, }; /* 803C4900-803C4920 021A20 0020+00 2/2 1/1 0/0 .data * __vt__Q27JStudio29TFunctionValue_list_parameter */ SECTION_DATA extern void* __vt__Q27JStudio29TFunctionValue_list_parameter[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio29TFunctionValue_list_parameterFv, (void*)getType__Q27JStudio29TFunctionValue_list_parameterCFv, (void*)getAttributeSet__Q27JStudio29TFunctionValue_list_parameterFv, (void*)initialize__Q27JStudio29TFunctionValue_list_parameterFv, (void*)prepare__Q27JStudio29TFunctionValue_list_parameterFv, (void*)getValue__Q27JStudio29TFunctionValue_list_parameterFd, }; /* 803C4920-803C4940 021A40 0020+00 2/2 1/1 0/0 .data __vt__Q27JStudio19TFunctionValue_list */ SECTION_DATA extern void* __vt__Q27JStudio19TFunctionValue_list[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio19TFunctionValue_listFv, (void*)getType__Q27JStudio19TFunctionValue_listCFv, (void*)getAttributeSet__Q27JStudio19TFunctionValue_listFv, (void*)initialize__Q27JStudio19TFunctionValue_listFv, (void*)prepare__Q27JStudio19TFunctionValue_listFv, (void*)getValue__Q27JStudio19TFunctionValue_listFd, }; /* 803C4940-803C4960 021A60 0020+00 2/2 1/1 0/0 .data __vt__Q27JStudio25TFunctionValue_transition */ SECTION_DATA extern void* __vt__Q27JStudio25TFunctionValue_transition[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio25TFunctionValue_transitionFv, (void*)getType__Q27JStudio25TFunctionValue_transitionCFv, (void*)getAttributeSet__Q27JStudio25TFunctionValue_transitionFv, (void*)initialize__Q27JStudio25TFunctionValue_transitionFv, (void*)prepare__Q27JStudio25TFunctionValue_transitionFv, (void*)getValue__Q27JStudio25TFunctionValue_transitionFd, }; /* 803C4960-803C4980 021A80 0020+00 2/2 1/1 0/0 .data __vt__Q27JStudio23TFunctionValue_constant */ SECTION_DATA extern void* __vt__Q27JStudio23TFunctionValue_constant[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio23TFunctionValue_constantFv, (void*)getType__Q27JStudio23TFunctionValue_constantCFv, (void*)getAttributeSet__Q27JStudio23TFunctionValue_constantFv, (void*)initialize__Q27JStudio23TFunctionValue_constantFv, (void*)prepare__Q27JStudio23TFunctionValue_constantFv, (void*)getValue__Q27JStudio23TFunctionValue_constantFd, }; /* 803C4980-803C49A0 021AA0 0020+00 2/2 1/1 0/0 .data __vt__Q27JStudio24TFunctionValue_composite */ SECTION_DATA extern void* __vt__Q27JStudio24TFunctionValue_composite[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__Q27JStudio24TFunctionValue_compositeFv, (void*)getType__Q27JStudio24TFunctionValue_compositeCFv, (void*)getAttributeSet__Q27JStudio24TFunctionValue_compositeFv, (void*)initialize__Q27JStudio24TFunctionValue_compositeFv, (void*)prepare__Q27JStudio24TFunctionValue_compositeFv, (void*)getValue__Q27JStudio24TFunctionValue_compositeFd, }; /* 803C49A0-803C49C0 021AC0 0020+00 2/2 0/0 0/0 .data __vt__Q27JStudio14TFunctionValue */ SECTION_DATA extern void* __vt__Q27JStudio14TFunctionValue[8] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, }; // /* ############################################################################################## // */ // /* 80455400-80455408 003A00 0008+00 13/13 0/0 0/0 .sdata2 @652 */ SECTION_SDATA2 static u8 lit_652[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80455408-80455410 003A08 0008+00 5/5 0/0 0/0 .sdata2 @792 */ SECTION_SDATA2 static f64 lit_792 = 1.0; /* 80455410-80455418 003A10 0008+00 1/1 0/0 0/0 .sdata2 @793 */ SECTION_SDATA2 static f64 lit_793 = 3.0; /* 80455418-80455420 003A18 0008+00 1/1 0/0 0/0 .sdata2 @794 */ SECTION_SDATA2 static f64 lit_794 = -2.0; /* ############################################################################################## */ /* 80455420-80455428 003A20 0008+00 1/1 0/0 0/0 .sdata2 @799 */ SECTION_SDATA2 static f64 lit_799 = 1.0 / 6.0; /* 80455428-80455430 003A28 0008+00 5/5 0/0 0/0 .sdata2 @800 */ SECTION_SDATA2 static f64 lit_800 = 0.5; /* 80455430-80455438 003A30 0008+00 1/1 0/0 0/0 .sdata2 @801 */ SECTION_SDATA2 static f64 lit_801 = 2.0 / 3.0; /* ############################################################################################## */ /* 80455438-80455440 003A38 0008+00 3/3 0/0 0/0 .sdata2 @842 */ SECTION_SDATA2 static f64 lit_842 = 2.0; /* ############################################################################################## */ /* 80455440-80455448 003A40 0008+00 1/1 0/0 0/0 .sdata2 @867 */ SECTION_SDATA2 static f64 lit_867 = -1.0; /* ############################################################################################## */ /* 804511E8-804511F0 0006E8 0001+07 1/1 0/0 0/0 .sbss @569 */ static u8 lit_569[1 + 7 /* padding */]; /* ############################################################################################## */ /* 80455448-80455450 003A48 0008+00 1/1 0/0 0/0 .sdata2 @1517 */ SECTION_SDATA2 static f64 lit_1517 = 4503599627370496.0 /* cast u32 to float */; namespace JStudio { namespace functionvalue { f64 extrapolateParameter_raw(f64, f64); f64 extrapolateParameter_repeat(f64, f64); f64 extrapolateParameter_turn(f64, f64); f64 extrapolateParameter_clamp(f64, f64); }; // namespace functionvalue namespace { const ExtrapolateParameter gapfnExtrapolateParameter_[4] = { functionvalue::extrapolateParameter_raw, functionvalue::extrapolateParameter_repeat, functionvalue::extrapolateParameter_turn, functionvalue::extrapolateParameter_clamp, }; } ExtrapolateParameter TFunctionValue::toFunction_outside(int idx) { ExtrapolateParameter fallback = NULL; ExtrapolateParameter result; result = JGadget::toValueFromIndex(idx, gapfnExtrapolateParameter_, 4, fallback); if (result == NULL) { JUTWarn w; w << "unknown outside : " << idx; return gapfnExtrapolateParameter_[0]; } return result; } TFunctionValue::TFunctionValue() {} TFunctionValue::~TFunctionValue() {} void TFunctionValueAttribute_refer::refer_initialize() { clear(); } namespace functionvalue { #ifdef NONMATCHING // impossible regalloc f64 interpolateValue_hermite(f64 c0, f64 c1, f64 x, f64 c2, f64 x2, f64 c3, f64 x3) { f64 a; f64 d; f64 c; f64 b; a = c0 - c1; b = a * (1.0 / (x2 - c1)); // (a - b) * 1.0 / (c - d) c = b - 1.0; // 1.0 d = (3.0 + -2.0 * b) * (b * b); // 3.0 - 2.0 * b return (a * b * c * x3) + ((1.0 - d) * x + (d * c3)) + (a * (c * c) * c2); } #else /* 80281710-80281774 27C050 0064+00 4/4 0/0 0/0 .text * interpolateValue_hermite__Q27JStudio13functionvalueFddddddd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 interpolateValue_hermite(f64 param_0, f64 param_1, f64 param_2, f64 param_3, f64 param_4, f64 param_5, f64 param_6) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/interpolateValue_hermite__Q27JStudio13functionvalueFddddddd.s" } #pragma pop #endif #ifdef NONMATCHING // really minor regalloc f64 interpolateValue_BSpline_uniform(f64 f1, f64 f2, f64 f3, f64 f4, f64 f5) { // pow3(1.0 - f1) f64 f6 = (1.0 - f1); f64 temp = f6; temp *= f6 * f6; f64 f0 = f1 * f1; f64 f8 = f0 * f1; return ((lit_799 * f8 - f0) + lit_801) * f3 + (temp * f2 + f8 * f5) * 0.5 + f4 * (0.5 + lit_799 * ((f1 + f0) - f8)); } #else /* 80281774-802817D8 27C0B4 0064+00 1/1 0/0 0/0 .text * interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 interpolateValue_BSpline_uniform(f64 param_0, f64 param_1, f64 param_2, f64 param_3, f64 param_4) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/interpolateValue_BSpline_uniform__Q27JStudio13functionvalueFddddd.s" } #pragma pop #endif /* 802817D8-802818B8 27C118 00E0+00 1/1 0/0 0/0 .text * interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 interpolateValue_BSpline_nonuniform(f64 param_0, f64 const* param_1, f64 const* param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/interpolateValue_BSpline_nonuniform__Q27JStudio13functionvalueFdPCdPCd.s" } #pragma pop inline f64 interpolateValue_linear(double a1, double a2, double a3, double a4, double a5) { return a3 + ((a5 - a3) * (a1 - a2)) / (a4 - a2); } inline f64 interpolateValue_linear_1(f64 a1, f64 a2, f64 a3, f64 a4) { return a3 + (a4 - a3) * (a1 - a2); } inline f64 interpolateValue_plateau(f64 a1, f64 a2, f64 a3, f64 a4, f64 a5) { return interpolateValue_hermite(a1, a2, a3, DOUBLE_LABEL(/* 0.0 */ lit_652), a4, a5, DOUBLE_LABEL(/* 0.0 */ lit_652)); } /* 802818B8-80281918 27C1F8 0060+00 1/0 0/0 0/0 .text * extrapolateParameter_turn__Q27JStudio13functionvalueFdd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 extrapolateParameter_turn(f64 param_0, f64 param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/extrapolateParameter_turn__Q27JStudio13functionvalueFdd.s" } #pragma pop } // namespace functionvalue void TFunctionValueAttribute_range::range_initialize() { fBegin_ = __float_nan[0]; // NaN fEnd_ = fBegin_; fDifference_ = fBegin_; range_setProgress(TFunctionValue::PROG_INIT); range_setAdjust(TFunctionValue::ADJ_INIT); range_setOutside(TFunctionValue::OUT_INIT); } void TFunctionValueAttribute_range::range_prepare() { TFunctionValue::TEProgress progress = range_getProgress(); switch (progress) { default: JUTWarn w; w << "unknown progress : " << progress; case 0: _20 = DOUBLE_LABEL(/* 0.0 */ lit_652); _28 = DOUBLE_LABEL(/* 1.0 */ lit_792); break; case 1: _20 = DOUBLE_LABEL(/* 0.0 */ lit_652); _28 = DOUBLE_LABEL(/*-1.0 */ lit_867); break; case 2: _20 = fBegin_; _28 = DOUBLE_LABEL(/*-1.0 */ lit_867); break; case 3: _20 = fEnd_; _28 = DOUBLE_LABEL(/*-1.0 */ lit_867); break; case 4: _20 = DOUBLE_LABEL(/* 0.5 */ lit_800) * (fBegin_ + fEnd_); _28 = DOUBLE_LABEL(/*-1.0 */ lit_867); break; } } void TFunctionValueAttribute_range::range_set(f64 begin, f64 end) { fBegin_ = begin; fEnd_ = end; fDifference_ = end - begin; ASSERT(fDifference_ >= TValue(0)); } #ifdef NONMATCHING f64 TFunctionValueAttribute_range::range_getParameter(f64 arg1, f64 arg2, f64 arg3) const { f64 progress = range_getParameter_progress(arg1); TFunctionValue::TEAdjust adjust = range_getAdjust(); f64 result; switch (adjust) { default: JUTWarn w; w << "unknown adjust : " << adjust; case 0: result = range_getParameter_outside(progress); break; case 1: result = range_getParameter_outside(progress + fBegin_); break; case 2: result = range_getParameter_outside(progress + fEnd_); break; case 3: result = range_getParameter_outside(progress + lit_800 * (fBegin_ + fEnd_)); break; case 4: f64 temp = range_getParameter_outside(progress); result = arg2 + ((temp - fBegin_) * (arg3 - arg2)) / fDifference_; break; } return result; } #else // /* 80281A08-80281D18 27C348 0310+00 2/2 0/0 0/0 .text // * range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValueAttribute_range::range_getParameter(f64 param_0, f64 param_1, f64 param_2) const { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/range_getParameter__Q27JStudio29TFunctionValueAttribute_rangeCFddd.s" } #pragma pop #endif TFunctionValueAttribute_range::TFunctionValueAttribute_range() : fBegin_(__float_nan[0]), fEnd_(fBegin_), fDifference_(fBegin_), mProgress(TFunctionValue::PROG_INIT), mAdjust(TFunctionValue::ADJ_INIT), _20(fBegin_), _28(fBegin_), mBegin(TFunctionValue::OUT_INIT), mEnd(TFunctionValue::OUT_INIT) {} /* 80281D5C-80281DB8 27C69C 005C+00 0/0 1/1 0/0 .text __ct__Q27JStudio24TFunctionValue_compositeFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm TFunctionValue_composite::TFunctionValue_composite() { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/__ct__Q27JStudio24TFunctionValue_compositeFv.s" } #pragma pop u32 TFunctionValue_composite::getType() const { return 1; } TFunctionValueAttributeSet TFunctionValue_composite::getAttributeSet() { return TFunctionValueAttributeSet(this, NULL, NULL); } void TFunctionValue_composite::initialize() { refer_initialize(); pfn_ = NULL; data = TData((void*)NULL); } void TFunctionValue_composite::prepare() { /* empty function */ } f64 TFunctionValue_composite::getValue(f64 arg1) { const TFunctionValueAttribute_refer* container = refer_getContainer(); ASSERT(!refer_isReferring(this)); ASSERT(pfn_ != NULL); return pfn_(arg1, container, data_getData()); } /* 80281E5C-80281EC8 27C79C 006C+00 0/0 1/0 0/0 .text * composite_raw__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_raw(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80281E5C.s" } #pragma pop /* 80281EC8-8028202C 27C808 0164+00 0/0 1/0 0/0 .text * composite_index__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_index(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80281EC8.s" } #pragma pop /* 8028202C-80282094 27C96C 0068+00 0/0 1/0 0/0 .text * composite_parameter__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_parameter(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_8028202C.s" } #pragma pop /* 80282094-80282118 27C9D4 0084+00 0/0 1/0 0/0 .text * composite_add__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_add(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282094.s" } #pragma pop /* 80282118-80282200 27CA58 00E8+00 0/0 1/0 0/0 .text * composite_subtract__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_subtract(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282118.s" } #pragma pop /* 80282200-80282284 27CB40 0084+00 0/0 1/0 0/0 .text * composite_multiply__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_multiply(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282200.s" } #pragma pop /* 80282284-8028236C 27CBC4 00E8+00 0/0 1/0 0/0 .text * composite_divide__Q27JStudio24TFunctionValue_compositeFRCQ27JGadget44TVector_pointerRCQ37JStudio24TFunctionValue_composite5TDatad */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void TFunctionValue_composite::composite_divide(TVector_pointer const& param_0, TData const& param_1, f64 param_2) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282284.s" } #pragma pop TFunctionValue_constant::TFunctionValue_constant() : fValue_(__float_nan[0]) {} u32 TFunctionValue_constant::getType() const { return 2; } TFunctionValueAttributeSet TFunctionValue_constant::getAttributeSet() { return TFunctionValueAttributeSet(NULL, NULL, NULL); } void TFunctionValue_constant::initialize() { fValue_ = __float_nan[0]; } void TFunctionValue_constant::prepare() { /* empty function */ } f64 TFunctionValue_constant::getValue(f64 arg1) { return fValue_; } TFunctionValue_transition::TFunctionValue_transition() : _48(__float_nan[0]), _50(_48) {} u32 TFunctionValue_transition::getType() const { return 3; } TFunctionValueAttributeSet TFunctionValue_transition::getAttributeSet() { return TFunctionValueAttributeSet(NULL, this, this); } void TFunctionValue_transition::initialize() { range_initialize(); interpolate_initialize(); _48 = __float_nan[0]; _50 = _48; } void TFunctionValue_transition::prepare() { range_prepare(); interpolate_prepare(); } /* 802824F4-802826BC 27CE34 01C8+00 1/0 0/0 0/0 .text * getValue__Q27JStudio25TFunctionValue_transitionFd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_transition::getValue(f64 param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/getValue__Q27JStudio25TFunctionValue_transitionFd.s" } #pragma pop TFunctionValue_list::TFunctionValue_list() : _44(NULL), _48(0), _50(__float_nan[0]), _58(NULL) {} u32 TFunctionValue_list::getType() const { return 4; } TFunctionValueAttributeSet TFunctionValue_list::getAttributeSet() { return TFunctionValueAttributeSet(NULL, this, this); } void TFunctionValue_list::initialize() { range_initialize(); interpolate_initialize(); _44 = NULL; _48 = 0; _50 = __float_nan[0]; _58 = NULL; } void TFunctionValue_list::prepare() { range_prepare(); interpolate_prepare(); u32 interp = interpolate_get(); switch (interp) { default: JUTWarn w; w << "unknown interpolation : " << interp; case 0: _58 = update_INTERPOLATE_NONE_; break; case 1: _58 = update_INTERPOLATE_LINEAR_; break; case 2: _58 = update_INTERPOLATE_PLATEAU_; break; case 3: _58 = update_INTERPOLATE_BSPLINE_dataMore3_; if (_48 == 2) _58 = update_INTERPOLATE_LINEAR_; break; } } /* 80282858-80282C10 27D198 03B8+00 1/0 0/0 0/0 .text getValue__Q27JStudio19TFunctionValue_listFd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_list::getValue(f64 param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/getValue__Q27JStudio19TFunctionValue_listFd.s" } #pragma pop f64 TFunctionValue_list::update_INTERPOLATE_NONE_(const TFunctionValue_list& rThis, const TIndexData_& data) { return rThis._44[data._10]; } f64 TFunctionValue_list::update_INTERPOLATE_LINEAR_(const TFunctionValue_list& rThis, const TIndexData_& data) { return functionvalue::interpolateValue_linear_1(data._0, data._8, rThis._44[data._10], rThis._44[data._10 + 1]); } #ifdef NONMATCHING // float load f64 TFunctionValue_list::update_INTERPOLATE_PLATEAU_(const TFunctionValue_list& rThis, const TIndexData_& data) { const f32* arr = rThis._44; return functionvalue::interpolateValue_plateau(data._0, data._8, arr[data._10], lit_792 + data._8, arr[data._10 + 1]); } #else /* 80282C58-80282CA8 27D598 0050+00 1/1 0/0 0/0 .text * update_INTERPOLATE_PLATEAU___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_ */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 JStudio::TFunctionValue_list::update_INTERPOLATE_PLATEAU_( JStudio::TFunctionValue_list const& param_0, JStudio::TFunctionValue_list::TIndexData_ const& param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282C58.s" } #pragma pop #endif /* 80282CA8-80282D34 27D5E8 008C+00 1/1 0/0 0/0 .text * update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio19TFunctionValue_listFRCQ27JStudio19TFunctionValue_listRCQ37JStudio19TFunctionValue_list11TIndexData_ */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_list::update_INTERPOLATE_BSPLINE_dataMore3_( TFunctionValue_list const& param_0, TFunctionValue_list::TIndexData_ const& param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80282CA8.s" } #pragma pop TFunctionValue_list_parameter::TFunctionValue_list_parameter() : _44(NULL), _48(0), dat1(NULL), dat2(dat1), dat3(dat1), _58(NULL) {} u32 TFunctionValue_list_parameter::getType() const { return 5; } TFunctionValueAttributeSet TFunctionValue_list_parameter::getAttributeSet() { return TFunctionValueAttributeSet(NULL, this, this); } void TFunctionValue_list_parameter::data_set(const f32* pf, u32 u) { ASSERT((pf != NULL) || (u == 0)); _44 = pf; _48 = u; dat1.set(_44); dat2.set(&_44[_48 * 2]); dat3 = dat1; } void TFunctionValue_list_parameter::initialize() { range_initialize(); interpolate_initialize(); _44 = NULL; _48 = 0; TIterator_data_ iter(NULL); dat1 = iter; dat2 = dat1; dat3 = dat1; _58 = NULL; } void TFunctionValue_list_parameter::prepare() { range_prepare(); interpolate_prepare(); u32 interp = interpolate_get(); switch (interp) { default: JUTWarn w; w << "unknown interpolation : " << interp; case 0: _58 = update_INTERPOLATE_NONE_; break; case 1: _58 = update_INTERPOLATE_LINEAR_; break; case 2: _58 = update_INTERPOLATE_PLATEAU_; break; case 3: _58 = update_INTERPOLATE_BSPLINE_dataMore3_; if (_48 != 2) return; _58 = update_INTERPOLATE_LINEAR_; break; } } /* 80282F10-80282FE8 27D850 00D8+00 1/0 0/0 0/0 .text * getValue__Q27JStudio29TFunctionValue_list_parameterFd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_list_parameter::getValue(f64 param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/getValue__Q27JStudio29TFunctionValue_list_parameterFd.s" } #pragma pop f64 TFunctionValue_list_parameter::update_INTERPOLATE_NONE_( const TFunctionValue_list_parameter& rThis, f64 d) { return rThis.dat3.get()[-1]; } f64 TFunctionValue_list_parameter::update_INTERPOLATE_LINEAR_( const TFunctionValue_list_parameter& rThis, f64 d) { const f32* a = rThis.dat3.get(); return functionvalue::interpolateValue_linear(d, a[-2], a[-1], a[0], a[1]); } #ifdef NONMATCHING // float load f64 TFunctionValue_list_parameter::update_INTERPOLATE_PLATEAU_( const TFunctionValue_list_parameter& rThis, f64 d) { const f32* a = rThis.dat3.get(); return functionvalue::interpolateValue_plateau(d, a[-2], a[-1], a[0], a[1]); } #else /* 80283024-80283060 27D964 003C+00 1/1 0/0 0/0 .text * update_INTERPOLATE_PLATEAU___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_list_parameter::update_INTERPOLATE_PLATEAU_( TFunctionValue_list_parameter const& param_0, f64 param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80283024.s" } #pragma pop #endif /* 80283060-802832C4 27D9A0 0264+00 1/1 0/0 0/0 .text * update_INTERPOLATE_BSPLINE_dataMore3___Q27JStudio29TFunctionValue_list_parameterFRCQ27JStudio29TFunctionValue_list_parameterd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_list_parameter::update_INTERPOLATE_BSPLINE_dataMore3_( TFunctionValue_list_parameter const& param_0, f64 param_1) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80283060.s" } #pragma pop TFunctionValue_hermite::TFunctionValue_hermite() : pf_(NULL), u_(0), uSize_(0), dat1(*this, NULL), dat2(dat1), dat3(dat1) {} u32 JStudio::TFunctionValue_hermite::getType() const { return 6; } TFunctionValueAttributeSet TFunctionValue_hermite::getAttributeSet() { return TFunctionValueAttributeSet(NULL, this, NULL); } void TFunctionValue_hermite::data_set(const f32* pf, u32 u, u32 uSize) { ASSERT((pf != NULL) || (u == 0)); ASSERT((uSize == 3) || (uSize == 4)); pf_ = pf; u_ = u; uSize_ = uSize; dat1.set(pf_, uSize_); dat2.set(&pf_[u_ * uSize_], uSize_); dat3 = dat1; } void TFunctionValue_hermite::initialize() { range_initialize(); pf_ = NULL; u_ = 0; uSize_ = 0; TIterator_data_ data(*this, NULL); dat1 = data; dat2 = dat1; dat3 = dat1; } void TFunctionValue_hermite::prepare() { range_prepare(); } /* 8028344C-80283570 27DD8C 0124+00 1/0 0/0 0/0 .text * getValue__Q27JStudio22TFunctionValue_hermiteFd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm f64 TFunctionValue_hermite::getValue(f64 param_0) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/getValue__Q27JStudio22TFunctionValue_hermiteFd.s" } #pragma pop } // namespace JStudio namespace JStudio { namespace functionvalue { f64 extrapolateParameter_raw(f64 a1, f64 a2) { return a1; } f64 extrapolateParameter_repeat(f64 a1, f64 a2) { f64 t = fmod(a1, a2); if (t < DOUBLE_LABEL(/* 0.0 */ lit_652)) t += a2; return t; } f64 extrapolateParameter_clamp(f64 value, f64 max) { if (value <= DOUBLE_LABEL(/* 0.0 */ lit_652)) return DOUBLE_LABEL(/* 0.0 */ lit_652); if (max <= value) value = max; return value; } } // namespace functionvalue } // namespace JStudio /* 802835DC-80283634 27DF1C 0058+00 1/1 0/0 0/0 .text * findUpperBound_binary_current__7JGadgetFQ37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_RCd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void func_802835DC(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_0, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_1, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_2, f64 const& param_3) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_802835DC.s" } #pragma pop /* 80283634-80283858 27DF74 0224+00 1/1 0/0 0/0 .text * findUpperBound_binary_current>__7JGadgetFQ37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_RCdQ23std7less */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void func_80283634(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_0, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_1, JStudio::TFunctionValue_list_parameter::TIterator_data_ param_2, f64 const& param_3, std::less param_4) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80283634.s" } #pragma pop /* 80283858-802838C8 27E198 0070+00 1/1 0/0 0/0 .text * findUpperBound_binary_current__7JGadgetFQ37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_RCd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void func_80283858(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_ param_0, JStudio::TFunctionValue_hermite::TIterator_data_ param_1, JStudio::TFunctionValue_hermite::TIterator_data_ param_2, f64 const& param_3) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_80283858.s" } #pragma pop /* 802838C8-80283BC4 27E208 02FC+00 1/1 0/0 0/0 .text * findUpperBound_binary_current>__7JGadgetFQ37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_RCdQ23std7less */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void func_802838C8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_ param_0, JStudio::TFunctionValue_hermite::TIterator_data_ param_1, JStudio::TFunctionValue_hermite::TIterator_data_ param_2, f64 const& param_3, std::less param_4) { nofralloc #include "asm/JSystem/JStudio/JStudio/functionvalue/func_802838C8.s" } #pragma pop