My favorites | Sign in
Project Logo
                
Details: Show all Hide all

Earlier this year

  • Nov 15, 2009
    issue 6 (iPhone Release run Problem) commented on by zhangkaich   -   oh.i solved the problem. xcode compiler for thumb off, that is ok.
    oh.i solved the problem. xcode compiler for thumb off, that is ok.
  • Nov 10, 2009
    issue 6 (iPhone Release run Problem) commented on by zhangkaich   -   I add volatile on variable , this problem is not appear.
    I add volatile on variable , this problem is not appear.
  • Nov 10, 2009
    issue 6 (iPhone Release run Problem) reported by zhangkaich   -   What steps will reproduce the problem? 1. iPhone OS 3.0 Release App . Application run error. 2. I found R0 register may be overwrite. I read // NOTE: Lots of VFP macros overwrite register r0, therefore you have to make sure // to include "r0" in the list of registers used, as in above example. how can i avoid this problem?
    What steps will reproduce the problem? 1. iPhone OS 3.0 Release App . Application run error. 2. I found R0 register may be overwrite. I read // NOTE: Lots of VFP macros overwrite register r0, therefore you have to make sure // to include "r0" in the list of registers used, as in above example. how can i avoid this problem?
  • Oct 10, 2009
    issue 5 (Test project doesn't compile) reported by tizwah   -   What steps will reproduce the problem? 1. open project 2. compile with no changes to target and settings (Debug target for device using SDK 2.21 (base SDK)) What is the expected output? What do you see instead? I am getting a compiler error: vsinf.cpp:170: error: can't find a register in class 'LO_REGS' while reloading 'asm' Compiling for simulator doesn't work either: vsinf.cpp: In function 'void vsinf(float*, float*, int)': vsinf.cpp:170: error: unknown register name 's31' in 'asm' vsinf.cpp:170: error: unknown register name 's30' in 'asm' vsinf.cpp:170: error: unknown register name 's29' in 'asm' vsinf.cpp:170: error: unknown register name 's28' in 'asm' vsinf.cpp:170: error: unknown register name 's27' in 'asm' vsinf.cpp:170: error: unknown register name 's26' in 'asm' vsinf.cpp:170: error: unknown register name 's25' in 'asm' vsinf.cpp:170: error: unknown register name 's24' in 'asm' vsinf.cpp:170: error: unknown register name 's23' in 'asm' vsinf.cpp:170: error: unknown register name 's22' in 'asm' vsinf.cpp:170: error: unknown register name 's21' in 'asm' vsinf.cpp:170: error: unknown register name 's20' in 'asm' vsinf.cpp:170: error: unknown register name 's19' in 'asm' vsinf.cpp:170: error: unknown register name 's18' in 'asm' vsinf.cpp:170: error: unknown register name 's17' in 'asm' vsinf.cpp:170: error: unknown register name 's16' in 'asm' vsinf.cpp:170: error: unknown register name 's15' in 'asm' vsinf.cpp:170: error: unknown register name 's14' in 'asm' vsinf.cpp:170: error: unknown register name 's13' in 'asm' vsinf.cpp:170: error: unknown register name 's12' in 'asm' vsinf.cpp:170: error: unknown register name 's11' in 'asm' vsinf.cpp:170: error: unknown register name 's10' in 'asm' vsinf.cpp:170: error: unknown register name 's9' in 'asm' vsinf.cpp:170: error: unknown register name 's8' in 'asm' vsinf.cpp:170: error: unknown register name 's7' in 'asm' vsinf.cpp:170: error: unknown register name 's6' in 'asm' vsinf.cpp:170: error: unknown register name 's5' in 'asm' vsinf.cpp:170: error: unknown register name 's4' in 'asm' vsinf.cpp:170: error: unknown register name 's3' in 'asm' vsinf.cpp:170: error: unknown register name 's2' in 'asm' vsinf.cpp:170: error: unknown register name 's1' in 'asm' vsinf.cpp:170: error: unknown register name 's0' in 'asm' vsinf.cpp:170: error: unknown register name 's31' in 'asm' vsinf.cpp:170: error: unknown register name 's30' in 'asm' vsinf.cpp:170: error: unknown register name 's29' in 'asm' vsinf.cpp:170: error: unknown register name 's28' in 'asm' vsinf.cpp:170: error: unknown register name 's27' in 'asm' vsinf.cpp:170: error: unknown register name 's26' in 'asm' vsinf.cpp:170: error: unknown register name 's25' in 'asm' vsinf.cpp:170: error: unknown register name 's24' in 'asm' vsinf.cpp:170: error: unknown register name 's23' in 'asm' vsinf.cpp:170: error: unknown register name 's22' in 'asm' vsinf.cpp:170: error: unknown register name 's21' in 'asm' vsinf.cpp:170: error: unknown register name 's20' in 'asm' vsinf.cpp:170: error: unknown register name 's19' in 'asm' vsinf.cpp:170: error: unknown register name 's18' in 'asm' vsinf.cpp:170: error: unknown register name 's17' in 'asm' vsinf.cpp:170: error: unknown register name 's16' in 'asm' vsinf.cpp:170: error: unknown register name 's15' in 'asm' vsinf.cpp:170: error: unknown register name 's14' in 'asm' vsinf.cpp:170: error: unknown register name 's13' in 'asm' vsinf.cpp:170: error: unknown register name 's12' in 'asm' vsinf.cpp:170: error: unknown register name 's11' in 'asm' vsinf.cpp:170: error: unknown register name 's10' in 'asm' vsinf.cpp:170: error: unknown register name 's9' in 'asm' vsinf.cpp:170: error: unknown register name 's8' in 'asm' vsinf.cpp:170: error: unknown register name 's7' in 'asm' vsinf.cpp:170: error: unknown register name 's6' in 'asm' vsinf.cpp:170: error: unknown register name 's5' in 'asm' vsinf.cpp:170: error: unknown register name 's4' in 'asm' vsinf.cpp:170: error: unknown register name 's3' in 'asm' vsinf.cpp:170: error: unknown register name 's2' in 'asm' vsinf.cpp:170: error: unknown register name 's1' in 'asm' vsinf.cpp:170: error: unknown register name 's0' in 'asm' What version of the product are you using? On what operating system? Latest version on 10.5.8 with XCode 3.1.3 Not sure what I am doing wrong? Thanks, --th
    What steps will reproduce the problem? 1. open project 2. compile with no changes to target and settings (Debug target for device using SDK 2.21 (base SDK)) What is the expected output? What do you see instead? I am getting a compiler error: vsinf.cpp:170: error: can't find a register in class 'LO_REGS' while reloading 'asm' Compiling for simulator doesn't work either: vsinf.cpp: In function 'void vsinf(float*, float*, int)': vsinf.cpp:170: error: unknown register name 's31' in 'asm' vsinf.cpp:170: error: unknown register name 's30' in 'asm' vsinf.cpp:170: error: unknown register name 's29' in 'asm' vsinf.cpp:170: error: unknown register name 's28' in 'asm' vsinf.cpp:170: error: unknown register name 's27' in 'asm' vsinf.cpp:170: error: unknown register name 's26' in 'asm' vsinf.cpp:170: error: unknown register name 's25' in 'asm' vsinf.cpp:170: error: unknown register name 's24' in 'asm' vsinf.cpp:170: error: unknown register name 's23' in 'asm' vsinf.cpp:170: error: unknown register name 's22' in 'asm' vsinf.cpp:170: error: unknown register name 's21' in 'asm' vsinf.cpp:170: error: unknown register name 's20' in 'asm' vsinf.cpp:170: error: unknown register name 's19' in 'asm' vsinf.cpp:170: error: unknown register name 's18' in 'asm' vsinf.cpp:170: error: unknown register name 's17' in 'asm' vsinf.cpp:170: error: unknown register name 's16' in 'asm' vsinf.cpp:170: error: unknown register name 's15' in 'asm' vsinf.cpp:170: error: unknown register name 's14' in 'asm' vsinf.cpp:170: error: unknown register name 's13' in 'asm' vsinf.cpp:170: error: unknown register name 's12' in 'asm' vsinf.cpp:170: error: unknown register name 's11' in 'asm' vsinf.cpp:170: error: unknown register name 's10' in 'asm' vsinf.cpp:170: error: unknown register name 's9' in 'asm' vsinf.cpp:170: error: unknown register name 's8' in 'asm' vsinf.cpp:170: error: unknown register name 's7' in 'asm' vsinf.cpp:170: error: unknown register name 's6' in 'asm' vsinf.cpp:170: error: unknown register name 's5' in 'asm' vsinf.cpp:170: error: unknown register name 's4' in 'asm' vsinf.cpp:170: error: unknown register name 's3' in 'asm' vsinf.cpp:170: error: unknown register name 's2' in 'asm' vsinf.cpp:170: error: unknown register name 's1' in 'asm' vsinf.cpp:170: error: unknown register name 's0' in 'asm' vsinf.cpp:170: error: unknown register name 's31' in 'asm' vsinf.cpp:170: error: unknown register name 's30' in 'asm' vsinf.cpp:170: error: unknown register name 's29' in 'asm' vsinf.cpp:170: error: unknown register name 's28' in 'asm' vsinf.cpp:170: error: unknown register name 's27' in 'asm' vsinf.cpp:170: error: unknown register name 's26' in 'asm' vsinf.cpp:170: error: unknown register name 's25' in 'asm' vsinf.cpp:170: error: unknown register name 's24' in 'asm' vsinf.cpp:170: error: unknown register name 's23' in 'asm' vsinf.cpp:170: error: unknown register name 's22' in 'asm' vsinf.cpp:170: error: unknown register name 's21' in 'asm' vsinf.cpp:170: error: unknown register name 's20' in 'asm' vsinf.cpp:170: error: unknown register name 's19' in 'asm' vsinf.cpp:170: error: unknown register name 's18' in 'asm' vsinf.cpp:170: error: unknown register name 's17' in 'asm' vsinf.cpp:170: error: unknown register name 's16' in 'asm' vsinf.cpp:170: error: unknown register name 's15' in 'asm' vsinf.cpp:170: error: unknown register name 's14' in 'asm' vsinf.cpp:170: error: unknown register name 's13' in 'asm' vsinf.cpp:170: error: unknown register name 's12' in 'asm' vsinf.cpp:170: error: unknown register name 's11' in 'asm' vsinf.cpp:170: error: unknown register name 's10' in 'asm' vsinf.cpp:170: error: unknown register name 's9' in 'asm' vsinf.cpp:170: error: unknown register name 's8' in 'asm' vsinf.cpp:170: error: unknown register name 's7' in 'asm' vsinf.cpp:170: error: unknown register name 's6' in 'asm' vsinf.cpp:170: error: unknown register name 's5' in 'asm' vsinf.cpp:170: error: unknown register name 's4' in 'asm' vsinf.cpp:170: error: unknown register name 's3' in 'asm' vsinf.cpp:170: error: unknown register name 's2' in 'asm' vsinf.cpp:170: error: unknown register name 's1' in 'asm' vsinf.cpp:170: error: unknown register name 's0' in 'asm' What version of the product are you using? On what operating system? Latest version on 10.5.8 with XCode 3.1.3 Not sure what I am doing wrong? Thanks, --th
  • May 02, 2009
    issue 2 (optimisation suggestion) commented on by alanic   -   My reading on the ARM Architecture Reference Manual ( http://www.arm.com/miscPDFs/14128.pdf ), pages C2- 26 and C2-10 indicate that the cumulative exception bits are for reading to see if there was an exception or not since you last cleared them. My understanding is that clearing them is not required to get to runfast mode, you just need to clear the enable bits, which are already cleared by default. So, solely on the material I read, I agree with comment 2 by Julien.
    My reading on the ARM Architecture Reference Manual ( http://www.arm.com/miscPDFs/14128.pdf ), pages C2- 26 and C2-10 indicate that the cumulative exception bits are for reading to see if there was an exception or not since you last cleared them. My understanding is that clearing them is not required to get to runfast mode, you just need to clear the enable bits, which are already cleared by default. So, solely on the material I read, I agree with comment 2 by Julien.
  • Apr 07, 2009
    issue 3 (fast_sin() is super slow) commented on by julien.cayzac   -   What difference is there between a scalar and a vector whose size is 1? Turning it on/off produces the exact same assembly, in my tests.
    What difference is there between a scalar and a vector whose size is 1? Turning it on/off produces the exact same assembly, in my tests.
  • Apr 07, 2009
    issue 3 (fast_sin() is super slow) commented on by damien.morton   -   My understanding is that that SIMD_UNITS_PER_WORD message is a warning, and results in a vector size of 1 being chosen. I have seen performance improvements turning it on, but on larger bodies of code, and I have spoken with others who swear by it. I cant say I have examined the asm output closely enough to detect what the difference is.
    My understanding is that that SIMD_UNITS_PER_WORD message is a warning, and results in a vector size of 1 being chosen. I have seen performance improvements turning it on, but on larger bodies of code, and I have spoken with others who swear by it. I cant say I have examined the asm output closely enough to detect what the difference is.
  • Apr 06, 2009
    issue 3 (fast_sin() is super slow) commented on by julien.cayzac   -   I tried to use -ftree-vectorize, but it does nothing since VFP is currently not supported by the tree vectorizer (only Neon is, AFAIK) : SIMD_UNITS_PER_WORD is not defined on this target.
    I tried to use -ftree-vectorize, but it does nothing since VFP is currently not supported by the tree vectorizer (only Neon is, AFAIK) : SIMD_UNITS_PER_WORD is not defined on this target.
  • Apr 06, 2009
    issue 3 (fast_sin() is super slow) commented on by damien.morton   -   The actual fast_sin() routine was written to test the vector implementation, vsinf against. No attempt at optimisation was made (probably should have called it something other than fast_sin). Note that fast_sin() also performs range reduction, which your code omits. Looks to me like abs() is resulting in fabss instructions, and that round() is calling out into library code, which is probably the worst performance offender. You might also want to try -ftree-vectorize in your CFLAGS.
    The actual fast_sin() routine was written to test the vector implementation, vsinf against. No attempt at optimisation was made (probably should have called it something other than fast_sin). Note that fast_sin() also performs range reduction, which your code omits. Looks to me like abs() is resulting in fabss instructions, and that round() is calling out into library code, which is probably the worst performance offender. You might also want to try -ftree-vectorize in your CFLAGS.
  • Apr 06, 2009
    issue 2 (optimisation suggestion) commented on by damien.morton   -   I thought the same about PLD instructions (it what it sais in the manual), but others have reported performance increases when using it. Seems odd that the security subsystem would prevent preloading cache lines. Warrants testing. Are you sure about RunFast on iPhone? Whats your source for that?
    I thought the same about PLD instructions (it what it sais in the manual), but others have reported performance increases when using it. Seems odd that the security subsystem would prevent preloading cache lines. Warrants testing. Are you sure about RunFast on iPhone? Whats your source for that?
  • Apr 06, 2009
    issue 2 (optimisation suggestion) commented on by julien.cayzac   -   Also, RunFast is the default on iPhoneOS, as on QNX.
    Also, RunFast is the default on iPhoneOS, as on QNX.
  • Apr 06, 2009
    issue 2 (optimisation suggestion) commented on by julien.cayzac   -   this cpu uses TrustZone, so PLD in user code is equivalent to a NOP.
    this cpu uses TrustZone, so PLD in user code is equivalent to a NOP.
  • Apr 06, 2009
    issue 4 (iPhoneOS already enforce RunFast mode!) reported by julien.cayzac   -   The lines marked "for runfast" in the code are useless, since the iPhoneOS already puts the VFP11 into RunFast mode (fpscr's value is 0x63000010).
    The lines marked "for runfast" in the code are useless, since the iPhoneOS already puts the VFP11 into RunFast mode (fpscr's value is 0x63000010).
  • Apr 06, 2009
    issue 3 (fast_sin() is super slow) commented on by julien.cayzac   -   Erratum: Function body for the original: static inline float sin_original(float x) { x = (1.27323954473516268615f - .40528473456935108577f*fabsf(x))*x; return x*(0.225f*fabsf(x) + 0.775f); } (bad copy/paste, sorry)
    Erratum: Function body for the original: static inline float sin_original(float x) { x = (1.27323954473516268615f - .40528473456935108577f*fabsf(x))*x; return x*(0.225f*fabsf(x) + 0.775f); } (bad copy/paste, sorry)
  • Apr 06, 2009
    issue 3 (fast_sin() is super slow) reported by julien.cayzac   -   fast_sin() uses a modified version of the algorithm by Nicolas Capens, but the original version performs better ! I ran 10000000 iterations, and found: fast_sin: 2.44414s original: 0.939018s Generated code: * For "fast_sin": fmsr s13, r0 stmfd sp!, {r7, lr} fcvtds d7, s13 fldd d6, L17 fmuld d7, d7, d6 add r7, sp, #0 fstmfdx sp!, {d8} fcvtsd s16, d7 fmrs r0, s16 bl L_lroundf$stub fmsr s14, r0 @ int fsitos s15, s14 fsubs s13, s16, s15 flds s14, L17+8 @ int flds s15, L17+12 @ int fabss s12, s13 fmacs s14, s12, s15 fmuls s15, s13, s14 fcpys s13, s15 fabss s14, s15 fmscs s13, s14, s15 flds s14, L17+16 @ int tst r0, #1 fmacs s15, s13, s14 fnegsne s15, s15 fmrs r0, s15 sub sp, r7, #12 fldmfdx sp!, {d8} sub sp, r7, #0 ldmfd sp!, {r7, pc} L17: .long 1841940611 .long 1070882608 .long 1082130432 .long -1065353216 .long 1046898278 * For the original version: fmsr s15, r0 flds s14, L4 @ int fabss s13, s15 flds s15, L4+4 @ int fnmacs s14, s13, s15 fmsr s15, r0 fmuls s13, s15, s14 flds s15, L4+8 @ int flds s14, L4+12 @ int fabss s12, s13 fmacs s14, s12, s15 fmuls s15, s13, s14 fmrs r0, s15 bx lr .long 1067645315 .long 1053786491 .long 1046898278 .long 1061578342 * Function body for the original: static float sin_kernel(float x, float a, float b) { x = (1.27323954473516268615f - .40528473456935108577f*fabsf(x))*x; return x*(0.225f*fabsf(x) + 0.775f); } (using fabsf() makes gcc generate a call to fabss) * CFLAGS: -O3 -fomit-frame-pointer -fstrict-aliasing -marm -march=armv6 -mcpu=arm1176jzf-s -mfloat-abi=softfp -mfpu=vfp
    fast_sin() uses a modified version of the algorithm by Nicolas Capens, but the original version performs better ! I ran 10000000 iterations, and found: fast_sin: 2.44414s original: 0.939018s Generated code: * For "fast_sin": fmsr s13, r0 stmfd sp!, {r7, lr} fcvtds d7, s13 fldd d6, L17 fmuld d7, d7, d6 add r7, sp, #0 fstmfdx sp!, {d8} fcvtsd s16, d7 fmrs r0, s16 bl L_lroundf$stub fmsr s14, r0 @ int fsitos s15, s14 fsubs s13, s16, s15 flds s14, L17+8 @ int flds s15, L17+12 @ int fabss s12, s13 fmacs s14, s12, s15 fmuls s15, s13, s14 fcpys s13, s15 fabss s14, s15 fmscs s13, s14, s15 flds s14, L17+16 @ int tst r0, #1 fmacs s15, s13, s14 fnegsne s15, s15 fmrs r0, s15 sub sp, r7, #12 fldmfdx sp!, {d8} sub sp, r7, #0 ldmfd sp!, {r7, pc} L17: .long 1841940611 .long 1070882608 .long 1082130432 .long -1065353216 .long 1046898278 * For the original version: fmsr s15, r0 flds s14, L4 @ int fabss s13, s15 flds s15, L4+4 @ int fnmacs s14, s13, s15 fmsr s15, r0 fmuls s13, s15, s14 flds s15, L4+8 @ int flds s14, L4+12 @ int fabss s12, s13 fmacs s14, s12, s15 fmuls s15, s13, s14 fmrs r0, s15 bx lr .long 1067645315 .long 1053786491 .long 1046898278 .long 1061578342 * Function body for the original: static float sin_kernel(float x, float a, float b) { x = (1.27323954473516268615f - .40528473456935108577f*fabsf(x))*x; return x*(0.225f*fabsf(x) + 0.775f); } (using fabsf() makes gcc generate a call to fabss) * CFLAGS: -O3 -fomit-frame-pointer -fstrict-aliasing -marm -march=armv6 -mcpu=arm1176jzf-s -mfloat-abi=softfp -mfpu=vfp
  • Mar 15, 2009
    r14 (added vsinf.cpp to correct position) committed by damien.morton   -   added vsinf.cpp to correct position
    added vsinf.cpp to correct position
  • Mar 15, 2009
    r13 (added vsinf.cpp to correct position) committed by damien.morton   -   added vsinf.cpp to correct position
    added vsinf.cpp to correct position
  • Mar 15, 2009
    r12 (added fast approximate vector sin routine - in the right pla...) committed by damien.morton   -   added fast approximate vector sin routine - in the right place this time
    added fast approximate vector sin routine - in the right place this time
  • Mar 15, 2009
    r11 (added fast approximate vector sin routine) committed by damien.morton   -   added fast approximate vector sin routine
    added fast approximate vector sin routine
  • Mar 15, 2009
    r10 (added fast approximate vector sin routine) committed by damien.morton   -   added fast approximate vector sin routine
    added fast approximate vector sin routine
  • Mar 12, 2009
    issue 2 (optimisation suggestion) reported by damien.morton   -   In the Vector-Matrix multiply code, an 8 cycle pipeline latency isnt being exploited between the last fadds and the fstmias. While waiting for the results of the fadds operation, you can load up the next vector and do the rest of the housekeeping. You will need to be in RunFast mode to do this, otherwise the s0-s2 registers will be source-locked. In addition, its worth throwing a PLD %0,#32 instruction in there to preload the next cache line. The main question is - are you prepared to use RunFast mode? If not, you can unroll the loop and load into the s3-s5 registers. My guess is that VFP_VECTOR_LENGTH(3) "fldmias %0, {s0-s2} \n\t" "adds %0, %0, %3 \n\t" "subs %1, %1, %4 \n\t" "L2000: \n\t" // First column times matrix. "fmuls s24, s8, s0 \n\t" "fmacs s24, s12, s1 \n\t" "fmacs s24, s16, s2 \n\t" "fadds s24, s24, s20 \n\t" "fldmias %0, {s0-s2} \n\t" "adds %0, %0, %3 \n\t" "pld %0, #32 \n\t" "adds %1, %1, %4 \n\t" "subs %5, %5, #1 \n\t" // Save vector. "fstmias %1, {s24-s27} \n\t" "bne L2000 \n\t" VFP_VECTOR_LENGTH_ZERO
    In the Vector-Matrix multiply code, an 8 cycle pipeline latency isnt being exploited between the last fadds and the fstmias. While waiting for the results of the fadds operation, you can load up the next vector and do the rest of the housekeeping. You will need to be in RunFast mode to do this, otherwise the s0-s2 registers will be source-locked. In addition, its worth throwing a PLD %0,#32 instruction in there to preload the next cache line. The main question is - are you prepared to use RunFast mode? If not, you can unroll the loop and load into the s3-s5 registers. My guess is that VFP_VECTOR_LENGTH(3) "fldmias %0, {s0-s2} \n\t" "adds %0, %0, %3 \n\t" "subs %1, %1, %4 \n\t" "L2000: \n\t" // First column times matrix. "fmuls s24, s8, s0 \n\t" "fmacs s24, s12, s1 \n\t" "fmacs s24, s16, s2 \n\t" "fadds s24, s24, s20 \n\t" "fldmias %0, {s0-s2} \n\t" "adds %0, %0, %3 \n\t" "pld %0, #32 \n\t" "adds %1, %1, %4 \n\t" "subs %5, %5, #1 \n\t" // Save vector. "fstmias %1, {s24-s27} \n\t" "bne L2000 \n\t" VFP_VECTOR_LENGTH_ZERO
  • Mar 08, 2009
    r9 ( Added vfp clobber list. ) committed by grundmann.matthias   -   Added vfp clobber list.
    Added vfp clobber list.
  • Feb 24, 2009
    r8 (Implemented matrix inversion. ) committed by grundmann.matthias   -   Implemented matrix inversion.
    Implemented matrix inversion.
  • Feb 17, 2009
    r7 (Major change: converted all matrix functions to use column-m...) committed by grundmann.matthias   -   Major change: converted all matrix functions to use column-major format to ensure compatibility with oolong engine. Implemented Matrix4Vector3ArrayMul + Test
    Major change: converted all matrix functions to use column-major format to ensure compatibility with oolong engine. Implemented Matrix4Vector3ArrayMul + Test
  • Feb 11, 2009
    r6 (Added TestSuite framework and first matrix unit tests. ) committed by grundmann.matthias   -   Added TestSuite framework and first matrix unit tests.
    Added TestSuite framework and first matrix unit tests.
  • Feb 06, 2009
    r5 (Added unittests. ) committed by grundmann.matthias   -   Added unittests.
    Added unittests.

Older

  • Dec 07, 2008
    r4 (removed some typos and the namespace because this needs to w...) committed by wolfgang.engel   -   removed some typos and the namespace because this needs to work in a C environment as well. Additionally added guards so that it is not used on the iPhone simulator.
    removed some typos and the namespace because this needs to work in a C environment as well. Additionally added guards so that it is not used on the iPhone simulator.
  • Nov 10, 2008
    r3 ([No log message]) committed by grundmann.matthias   -   [No log message]
    [No log message]
  • Nov 06, 2008
    issue 1 (nothing here yet) commented on by snowyote   -   Yay!!! Thanks!!! :D
    Yay!!! Thanks!!! :D
  • Nov 06, 2008
    issue 1 (nothing here yet) changed by wolfgang.engel   -   :-)
    Status: Fixed
    Owner: wolfgang.engel
    :-)
    Status: Fixed
    Owner: wolfgang.engel
  • Nov 04, 2008
    r2 (Initial commit of common macros and 4x4 matrix mult. ) committed by grundmann.matthias   -   Initial commit of common macros and 4x4 matrix mult.
    Initial commit of common macros and 4x4 matrix mult.
  • Oct 08, 2008
    issue 1 (nothing here yet) reported by snowyote   -   What steps will reproduce the problem? 1. check out the repo 2. cd vfpmathlibrary-read-only && ls | wc 3. see: 0 0 0 Expected: Maybe some files =) Snark aside, this is very interesting stuff - Thanks for even enlightening me to the existence of the ARM VFP. I'm reading up on it now; I hope you do get a chance to package this up library-style. Thanks!
    What steps will reproduce the problem? 1. check out the repo 2. cd vfpmathlibrary-read-only && ls | wc 3. see: 0 0 0 Expected: Maybe some files =) Snark aside, this is very interesting stuff - Thanks for even enlightening me to the existence of the ARM VFP. I'm reading up on it now; I hope you do get a chance to package this up library-style. Thanks!
  • Sep 17, 2008
    Project vfpmathlibrary created by wolfgang.engel   -   VFP based math library for the iPhone / iPod touch
    VFP based math library for the iPhone / iPod touch
 
Hosted by Google Code