mirror of https://github.com/zeldaret/tp.git
1107 lines
42 KiB
C++
1107 lines
42 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: functionvalue
|
|
//
|
|
|
|
#include "JSystem/JStudio/JStudio/functionvalue.h"
|
|
#include "JSystem/JUtility/JUTException.h"
|
|
#include "MSL_C/math.h"
|
|
#include "MSL_C/stdlib.h"
|
|
#include "dol2asm.h"
|
|
#include "global.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
namespace JGadget {
|
|
|
|
template <typename A1, typename B1>
|
|
void findUpperBound_binary_current(/* ... */);
|
|
}; // namespace JGadget
|
|
|
|
namespace std {
|
|
template <typename A1>
|
|
struct less {};
|
|
/* less<f64> */
|
|
struct less__template0 {};
|
|
|
|
template <typename A1, typename B1, typename C1>
|
|
void upper_bound(/* ... */);
|
|
/* 80283EB8 */ /* std::upper_bound<JStudio::TFunctionValue_hermite::TIterator_data_, f64,
|
|
std::less<f64>> */
|
|
void func_80283EB8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_,
|
|
JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&, std::less<f64>);
|
|
/* 80283E24 */ /* std::upper_bound<JStudio::TFunctionValue_list_parameter::TIterator_data_, f64,
|
|
std::less<f64>> */
|
|
void func_80283E24(void* _this, JStudio::TFunctionValue_list_parameter::TIterator_data_,
|
|
JStudio::TFunctionValue_list_parameter::TIterator_data_, f64 const&,
|
|
std::less<f64>);
|
|
}; // 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<f64>);
|
|
/* 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<f64>);
|
|
} // 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<f64>);
|
|
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<f64>);
|
|
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<f64>);
|
|
extern "C" void func_80283EB8(void* _this, JStudio::TFunctionValue_hermite::TIterator_data_,
|
|
JStudio::TFunctionValue_hermite::TIterator_data_, f64 const&,
|
|
std::less<f64>);
|
|
|
|
//
|
|
// 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();
|
|
|
|
/* ############################################################################################## */
|
|
/* 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<ExtrapolateParameter>(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_ = NAN; // 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_(NAN), 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void TFunctionValue_composite::composite_raw(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void TFunctionValue_composite::composite_index(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void
|
|
TFunctionValue_composite::composite_parameter(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void TFunctionValue_composite::composite_add(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void
|
|
TFunctionValue_composite::composite_subtract(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void
|
|
TFunctionValue_composite::composite_multiply(TVector_pointer<TFunctionValue*> 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_pointer<PQ27JStudio14TFunctionValue>RCQ37JStudio24TFunctionValue_composite5TDatad
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void TFunctionValue_composite::composite_divide(TVector_pointer<TFunctionValue*> 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_(NAN) {}
|
|
|
|
u32 TFunctionValue_constant::getType() const {
|
|
return 2;
|
|
}
|
|
|
|
TFunctionValueAttributeSet TFunctionValue_constant::getAttributeSet() {
|
|
return TFunctionValueAttributeSet(NULL, NULL, NULL);
|
|
}
|
|
|
|
void TFunctionValue_constant::initialize() {
|
|
fValue_ = NAN;
|
|
}
|
|
|
|
void TFunctionValue_constant::prepare() {
|
|
/* empty function */
|
|
}
|
|
|
|
f64 TFunctionValue_constant::getValue(f64 arg1) {
|
|
return fValue_;
|
|
}
|
|
|
|
TFunctionValue_transition::TFunctionValue_transition() : _48(NAN), _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 = NAN;
|
|
_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(NAN), _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 = NAN;
|
|
_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<Q37JStudio29TFunctionValue_list_parameter15TIterator_data_,d>__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<Q37JStudio29TFunctionValue_list_parameter15TIterator_data_,d,Q23std7less<d>>__7JGadgetFQ37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_Q37JStudio29TFunctionValue_list_parameter15TIterator_data_RCdQ23std7less<d>
|
|
*/
|
|
#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<f64> 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<Q37JStudio22TFunctionValue_hermite15TIterator_data_,d>__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<Q37JStudio22TFunctionValue_hermite15TIterator_data_,d,Q23std7less<d>>__7JGadgetFQ37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_Q37JStudio22TFunctionValue_hermite15TIterator_data_RCdQ23std7less<d>
|
|
*/
|
|
#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<f64> param_4) {
|
|
nofralloc
|
|
#include "asm/JSystem/JStudio/JStudio/functionvalue/func_802838C8.s"
|
|
}
|
|
#pragma pop
|