Ticket #3 (closed バグ報告: fixed)

Opened 12 years ago

Last modified 8 years ago

spline.hについて

Reported by: ttakahashi Owned by: ddeguchi
Priority: Milestone:
Component: Mist Version:
Keywords: Cc:

Description

mist/spline.hを使った以下のコードのコインパイルが通りません。
他の設定が必要でしょうか。

#include <mist/spline.h>
int main( void )
{
    mist::spline< double > s1;
    s1.push_back( 0.5 );
    s1.push_back( 0.2 );
    s1.push_back( 0.7 );
    s1.push_back( 0.1 );
    s1.push_back( 0.9 );
    s1.mode( mist::spline< double >::OPEN );
    s1.construct_spline( );
    for( size_t i = 0 ; i < 10 ; i ++ )
    {
        std::cout << s1( static_cast< double >( i ) / 10 ) <<std::endl;
    }
    return 0;
}

また、以下のようにmist::vector2を用いた場合、コンパイルは通りますが、結果がおかしい気がします。

    mist::spline< mist::vector2< double > > s2;
    s2.push_back( mist::vector2< double >( 0.5, 0.2 ) );
    s2.push_back( mist::vector2< double >( 0.2, 0.1 ) );
    s2.push_back( mist::vector2< double >( 0.7, 0.3 ) );
    s2.push_back( mist::vector2< double >( 0.1, 0.4 ) );
    s2.push_back( mist::vector2< double >( 0.9, 0.1 ) );
    s2.mode( mist::spline< mist::vector2< double > >::OPEN );
    s2.construct_spline( );
    for( size_t i = 0 ; i < 10 ; i ++ )
    {
        std::cout << static_cast< double >( i ) / 10 << "\t" << s2( static_cast< double >( i ) / 10 ) <<std::endl;
    }

対応をよろしくお願いします。

Change History

comment:1 Changed 12 years ago by anonymous

  • Owner changed from somebody to anonymous
  • Status changed from new to assigned

comment:2 Changed 12 years ago by anonymous

  • Owner changed from anonymous to ddeguchi
  • Status changed from assigned to new

comment:3 Changed 12 years ago by ddeguchi

  • Status changed from new to assigned

comment:4 Changed 12 years ago by ddeguchi

  • Status changed from assigned to closed
  • Resolution set to fixed

ベクトルやスカラーの点演算の定義が間違っていました. すべての四則演算が足し算となっていたのが原因です. また,[509]で初期値設定の間違いがありました.[509]以前は問題がなかったため,バグに気づくのが遅くなりました. 本バグは [814] で修正を行いました. 利用されている方は最新版への更新をぜひ行ってください.

Note: See TracTickets for help on using tickets.