zorldo

Goofing around with Ebiten
git clone git://bsandro.tech/zorldo
Log | Files | Refs | README

affine.go (889B)


      1 // Copyright 2014 Hajime Hoshi
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //     http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 package affine
     16 
     17 func mulSquare(lhs, rhs *[16]float32, dim int) [16]float32 {
     18 	result := [16]float32{}
     19 	for i := 0; i < dim; i++ {
     20 		for j := 0; j < dim; j++ {
     21 			e := float32(0.0)
     22 			for k := 0; k < dim; k++ {
     23 				e += lhs[i*dim+k] * rhs[k*dim+j]
     24 			}
     25 			result[i*dim+j] = e
     26 		}
     27 	}
     28 	return result
     29 }