[Question]
  [
The below pattern will form the basis of this challenge.
```
     /\
     \/
     /\
    /  \
   /    \
/\/      \/\
\/\      /\/
   \    /
    \  /
     \/
     /\
     \/
```
Given an input width and height, each `>=1`, output the above ASCII art pattern repeated that many times, joining (and overlapping) at the small diamonds.
For example, here is an input with `width = 2` and `height = 1`:
```
     /\        /\
     \/        \/
     /\        /\
    /  \      /  \
   /    \    /    \
/\/      \/\/      \/\
\/\      /\/\      /\/
   \    /    \    /
    \  /      \  /
     \/        \/
     /\        /\
     \/        \/
```
Here is an input `width = 3` and `height = 2`:
```
     /\        /\        /\
     \/        \/        \/
     /\        /\        /\
    /  \      /  \      /  \
   /    \    /    \    /    \
/\/      \/\/      \/\/      \/\
\/\      /\/\      /\/\      /\/
   \    /    \    /    \    /
    \  /      \  /      \  /
     \/        \/        \/
     /\        /\        /\
     \/        \/        \/
     /\        /\        /\
    /  \      /  \      /  \
   /    \    /    \    /    \
/\/      \/\/      \/\/      \/\
\/\      /\/\      /\/\      /\/
   \    /    \    /    \    /
    \  /      \  /      \  /
     \/        \/        \/
     /\        /\        /\
     \/        \/        \/
```
### Rules and I/O
* Input and output can be given by [any convenient method](http://meta.codegolf.stackexchange.com/q/2447/42963).
* You can print it to STDOUT or return it as a function result.
* Either a full program or a function are acceptable.
* Any amount of extraneous whitespace is acceptable, so long as the characters line up appropriately.
* [Standard loopholes](http://meta.codegolf.stackexchange.com/q/1061/42963) are forbidden.
* This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") so all usual golfing rules apply, and the shortest code (in bytes) wins.
  
[Answer]
# [Canvas](https://github.com/dzaima/Canvas), ~~26~~ ~~25~~ ~~24~~ ~~21~~ 18 [bytes](https://github.com/dzaima/Canvas/blob/master/files/chartable.md)
```
４／╬/╬⁰ｒ：⤢ｎ↷⁸｛Ａ×├ｍ↷
```
[Try it here!](https://dzaima.github.io/Canvas/?u=JXVGRjE0JXVGRjBGJXUyNTZDLyV1MjU2QyV1MjA3MCV1RkY1MiV1RkYxQSV1MjkyMiV1RkY0RSV1MjFCNyV1MjA3OCV1RkY1QiV1RkYyMSVENyV1MjUxQyV1RkY0RCV1MjFCNw__,i=JTVCMyUyQzIlNUQ_,v=8)
-3 bytes by fixing `ｍ` not repeating canvas
Explanation:
```
4/╬                 quad-palindromize a 4-long diagonal - big inner diamond
   /╬               quad-palindromize "/" - small diamond
     ⁰r             join the two vertically, centered
       :⤢n          overlap with transpose
           ↷        and rotate the thing clockwise
            ⁸{      for each input
              A×      times 10
                ├     plus 2
                 m    mold the canvas to that width
                  ↷   and rotate clockwise, setting up for the next iteration
```
[Answer]
# JavaScript (ES8), ~~167~~ ~~161~~ 159 bytes
*NB: This is encoding the pattern. See [my other answer](https://codegolf.stackexchange.com/a/175685/58563) for a shorter mathematical approach.*
Takes input as `(width)(height)`.
```
w=>h=>(g=h=>h?g(--h)+`
`+([4106,4016,31305,21504,17010]['0102344320'[h%=10]]+'').replace(/./g,c=>'\\/'[c^h>5]||''.padEnd(c-1)).repeat(w+1).slice(8):'')(h*10+2)
```
[Try it online!](https://tio.run/##HYxBboMwEEX3vUflmdgYj23SKpLpqqcgVLGMgxMhQAGFTe5OrWze4uv9d/dPv4THbV6LcerifnX75urkauhdZvrpoSgS8svHhUNjSR2FVXQUhoyqhKZKWUFfilTbsExtrDVasSZ9ury1nDGUjzgPPkQoZdmL4Gp2PpesCX@prtrXizE5@@537CAUhG87@hU2TiiX4ZZ/33jKGUgHUlzjHqZxmYYoh6mHKxgEjbj/Aw "JavaScript (Node.js) – Try It Online")
### How?
We encode the upper half of the pattern with digits:
* \$0\$ means `\`
* \$1\$ means `/`
* \$n=2\$ to \$7\$ means \$n-1\$ spaces
This gives:
```
0  ···/\·····  -->  [3 spaces] [/] [\] [5 spaces]             -->  4106
1  ···\/·····  -->  [3 spaces] [\] [/] [5 spaces]             -->  4016
0  ···/\·····  -->  [3 spaces] [/] [\] [5 spaces]             -->  4106
2  ··/··\····  -->  [2 spaces] [/] [2 spaces] [\] [4 spaces]  -->  31305
3  ·/····\···  -->  [1 space] [/] [4 spaces] [\] [3 spaces]   -->  21504
4  /······\/\  -->  [/] [6 spaces] [\] [/] [\]                -->  17010
```
For the lower half, we use the rows \$4,3,2,0\$ with `/` and `\` inverted.
[Answer]
# JavaScript (ES6), 139 bytes
This is using quite a different approach from my initial answer, so I'm posting this separately.
Takes input as `(width)(height)`.
```
w=>h=>(g=x=>y>8?` /\\
`[a=(x+y*9)%10,d=(x+y)%10,x?(y%10>3&&2*(a==8)|d==5)|(y%10<6&&2*(a==6)|d==7):3]+g(x--?x:--y&&w):'')(w=w*10+2,y=-~h*10)
```
[Try it online!](https://tio.run/##NcjbCoJAFIXh@56im3RvdcoDmUl7fJAMHDwW4kRGzoD06pMIXa1/fQ/xEWP5uj/fbJBVbRoyE/GOOLSkiGueZMX2kOeb4ioIlKudM@4C36vWs6bKQC/LI8sKHRBECc4V0RHn1S/x3@PVT5hGN7cFxVimUsa0ZU2Y2jbCRJMT@G7oaWLfbkk0pRxG2df7XrbQQIQQIpof "JavaScript (Node.js) – Try It Online")
### How?
Given the width \$w\$ and the height \$h\$, we draw the output character by character over a grid which is:
* \$10w+3\$ characters wide
* \$10h+2\$ characters high
with \$x\$ going from \$10w+2\$ to \$0\$ (left to right) and \$y\$ going from \$10h+10\$ to \$9\$ (top to bottom).
Example for \$w=3\$ and \$h=2\$:
$$\begin{matrix}(32,30)&(31,30)&\dots&(0,30)\\
(32,29)&(31,29)&&(0,29)\\
\vdots&&\ddots&\vdots\\
(32,9)&(31,9)&\dots&(0,9)\end{matrix}$$
The rightmost cells (at \$x=0\$) are simply filled with linefeeds.
For all other cells, we compute:
* \$a=(x-y)\bmod 10\$ (constant over anti-diagonals)
* \$d=(x+y)\bmod 10\$ (constant over diagonals)
We draw a `"/"` if:
$$((y\bmod 10)>3\text{ and }d=5)\text{ or }((y\bmod 10)<6\text{ and }d=7)$$
```
 y  | y % 10 | output (w = 3, h = 1)
----+--------+----------------------------------
 20 |    0   | ...../........./........./......
 19 |    9   | ....../........./........./.....
 18 |    8   | ...../........./........./......
 17 |    7   | ..../........./........./.......
 16 |    6   | .../........./........./........
 15 |    5   | /./......././......././......./.
 14 |    4   | ./......././......././......././
 13 |    3   | ......../........./........./...
 12 |    2   | ......./........./........./....
 11 |    1   | ....../........./........./.....
 10 |    0   | ...../........./........./......
  9 |    9   | ....../........./........./.....
```
We draw a `"\"` if:
$$((y\bmod 10)>3\text{ and }a=8)\text{ or }((y\bmod 10)<6\text{ and }a=6)$$
```
 y  | y % 10 | output (w = 3, h = 1)
----+--------+----------------------------------
 20 |    0   | ......\.........\.........\.....
 19 |    9   | .....\.........\.........\......
 18 |    8   | ......\.........\.........\.....
 17 |    7   | .......\.........\.........\....
 16 |    6   | ........\.........\.........\...
 15 |    5   | .\.......\.\.......\.\.......\.\
 14 |    4   | \.\.......\.\.......\.\.......\.
 13 |    3   | ...\.........\.........\........
 12 |    2   | ....\.........\.........\.......
 11 |    1   | .....\.........\.........\......
 10 |    0   | ......\.........\.........\.....
  9 |    9   | .....\.........\.........\......
```
Or we draw a space if none of these conditions is fulfilled.
[Answer]
# [C++ (gcc)](https://gcc.gnu.org/), 137 bytes
```
#include<cstdio>
auto p(int x,int y){int n=10,t=x=++x*n;for(++y*=n;y>8;)t>7?putchar(t<9?y--,n:t%n-y%n+4&7?t%n+y%n-5&7?32:47:92),t--:t=x;}
```
[Try it online!](https://tio.run/##fY/BboMwDIbP4ymiTh1Jk0xdYWJNAkh7jl5QYG3U1kHUkUBVn52FHSbtsov/T7b1/7bte3m0dn52YC@h7Yhx/oZD11yr356xN2ydr5ImoCc9dYBkFEud2H0RKN@2Asux5HzcgP7yA@V82pSgp@pDM6yKug9oT81A0ezrSUoBCtcgpzXw/KWoI/PI8j1ytlN5ofY7JlBKFV31Y15Cro0Dysg9IfEapawPaMzq0wdoiT119vx6gJUxP8P4gYMjzbYilSkzJj1AqpOnnmYiZ/qPwz/7j/kb "C++ (gcc) – Try It Online")
*Explanation*
```
_______________________________
   098765432109876.... 
   9    \/    .     factor =y%10 - x10
   8    /\    .     if factor = -4 || 4. Print --> '\'  47
   7   /  \   . 
   6  /    \  .     factor =x%10+y%10;  
   5\/      \/*-.   if factor = 5 || 13 --> /  92
   4/\      /\   `.
   3  \    /       `->  * is 9,5 => \
   2   \  /      
   1    \/   
   0    /\       
   9
```
[Answer]
# [Haskell](https://www.haskell.org/), 179 bytes
```
k '\\'='/'
k '/'='\\'
k x=x
f x=take(10*x+2)
w#h=map(f w.cycle).f h.drop 9.cycle$(++).reverse=<<map(map k)$["\\/\\      /","   \\    / ","    \\  /  ","     \\/   ","     /\\   "]
```
[Try it online!](https://tio.run/##PcxRD4IgEAfwdz/FDd2QbFCulzb5BvXUY7TGDGdDzaGlfXq6ZMV28P/d7qj1YE3TeG@BKkUlFTTCKDAhMc5yjiq8R21Nut2s5ixn0RTXstV9WsHEy3fZGMYrqPnNPXrYh06SZhnjzryMG4wsiu84FliWnIlSQilYjiBrgk@ggKCFAn5CIv4Ku@TiW33vQAJ@e7xC/xxPozt0kMAuzv0H "Haskell – Try It Online")
---
# [Haskell](https://www.haskell.org/), 181 bytes
```
k '\\'='/'
k '/'='\\'
k x=x
f x=take(10*x+2)
w#h=map(f w.cycle).f h.drop 9.cycle$(++).reverse=<<map(map k)$map t[49200,36058,31630,30010,29038]
t 0=""
t n="\\ /"!!mod n 3:t(div n 3)
```
[Try it online!](https://tio.run/##JcxLDoJADAbgPaeoQAIjBAqjRAxzA125FGMIDMHwkMAIeHoscdH@X5umVTbWsmnWtQYrTS1h@ZZG9Ek0EhexaCV1ldXSDnC/OCHTZqMSbdbbJcxe/s0bybwSKq8Y3j3E/41pOw7zBjnJYZQiSbZzKqiZuYW6H@IQ0eURHk8uDyJORgzQDWPkp4emAIWuU3RCT1Pw9d2ufRfQAT8ru3hNm9jaZq8OBNDH6xP6j7qp4dKBCQcjXH8 "Haskell – Try It Online")
[Answer]
# [Charcoal](https://github.com/somebody1234/Charcoal), ~~24~~ ~~22~~ 20 bytes
```
\/↘²‖Ｍ↘LＦ⊖ＮＣχ⁰Ｆ⊖ＮＣ⁰χ
```
[Try it online!](https://tio.run/##S85ILErOT8z5/z@gKDOvREMpJkZfSdOaC8KzcskvzwvKTM8o0VEwAooGpablpCaX@GYWFeUXocha@QCl0/KLFDRcUpOLUnNT80pSUzQ88wpKS/xKc5NSizQ0NTUVnPMLKjUMDXQUDIhWDVRsCFT9/78xl9F/3bIcAA "Charcoal – Try It Online") Link is to verbose version of code. Explanation:
```
´\/↘²
```
Draw one eighth of the original pattern.
```
‖Ｍ↘L
```
Duplicate it three times to complete the original pattern.
```
Ｆ⊖ＮＣχ⁰
```
Copy the required number of times horizontally.
```
Ｆ⊖ＮＣ⁰χ
```
Copy the required number of times vertically.
[Answer]
# Powershell, 146 bytes
```
param($w,$h)0..9*$h+0,1|%{$y=$_
-join(0..9*$w+0,1|%{('3  /\33  \/33  /\33 /  \3  /3 \ /\/33\\/\33/3\3 /3  \  /33 \/3'-replace3,'   ')[$y*10+$_]})}
```
## Explanation
The pattern is 10x10 chars array:
```
     /\   
     \/   
     /\   
    /  \  
   /    \ 
/\/      \
\/\      /
   \    / 
    \  /  
     \/   
```
The script:
* repeats the pattern;
* appends columns [0,1] to the end of each line;
* appends lines [0,1] to the end of the output.
Two things for golf:
1. The pattern array mapped to string with length 100 bytes;
2. The string reduced by simple `replace`.
[Answer]
# [Perl 5](https://www.perl.org/) `-p`, 148 bytes
```
$_='3A3'x$_.$/.'3B3
3A3
2/2\\2
1/4\\1
A6A
B6B
1\\4/1
2\\2/2
3B3
3A3
'=~s/^.*$/$&x$_/mger x<>.'3B3'x$_;s|A+|/\\|g;s|B+|\\/|g;s/\d/$"x$&/ge;s|^ |  |gm
```
[Try it online!](https://tio.run/##NY1BCoMwFET3/xShBAMV802ibloLyb43@OimEgq1inbhIvToTWOhuxne8GYelkcdI@9bYawRG@8lRymMM5A6aNREGhRWRApsY8E1DhRRhQp2hBr@W9G@V@zkkSPPkgdHPyxsO19@tt18WoPNAxIFn6LLAxHuEemG/LDxDP2QQMcCY8GPMab/zzS/7tNzjcUci2stS1V@AQ "Perl 5 – Try It Online")
[Answer]
# PHP, 159 bytes
pattern taken from mazzy; translated to 1-2-3, converted to base26 -> decoded by the program
```
while($y<$argv[2]*10+2)echo str_pad("",$argv[1]*10+2,strtr(base_convert([jng1,jnnb,jng1,jofn,k333,"1h4p5",23814,k94d,k02h,jnnb][$y++%10],26,4),312,"\ /")),"
";
```
requires PHP 5.5 or later. Run with `-nr` or [try it online](http://sandbox.onlinephpfunctions.com/code/bc42dffa84c94143ef2018a1a4d1a1aeea5d92e0).
calculating may be shorter (as it was for Arnauld). I may look into that.
[Answer]
# [Kotlin](https://kotlinlang.org), ~~196~~ 135 bytes
Saved 61 bytes thanks to ASCII-only's suggestion to use AZTECCO's C++ algorithm.
```
{h,w->var r=""
for(l in 9..h*10+10){for(c in 9..w*10+10){r+=when{(l%10+c%10)%8==5->'/'
(l%10-c%10+8)%8==4->'\\'
else->' '}}
r+='\n'}
r}
```
[Try it online!](https://tio.run/##7VhLc9s2EL7rVyCeSSzVEmX5kdiayjPOo61n2qYTu9Np6x4gEhLRgAQDUpZdy789/XZBkFJi1@mht/IgE4vdxWIf3y793lZG5x@HQ/HKKVmpRMysE1WqSxHbRIm5NTMRp9IYlc/VuAPGtKqKcjwc0j5tR2Ul4/fqGlxgiWKbDT8sVFlpm5fD0YvD56NjEnvt5NIrTrTMbJ6IQlaVcjltXqRKTJWxy0AUS20M2ZJBBnuyhKCdsQISaEyKOrTkZ3jZvF4O76HiN7zzDy@Gl40Ir/EnyAUdTGgUXq69338OUen9W32lciFzofNiUeFGSZVimYhU6Xla9YWScSpOJqO@sIsKLCREt5VTe6XE6fmrszMhXdX4xKnCx6hKZSUymd@whM5U2Rd/Wp3rfC66dALknZFFAUJPgJe0lhlcRgK1/0vvum8Qb3Uts8KoPixzSsDTa0bDZm/5ROyR9ZwCfAFQRuN19wtxjysCccNVn3MOaz/fE6aHA/Zw6B4I4v3hFPcF9gvt3uQk6nef@9C7b38t@OTNB3z3yBmP2PWYZx/18Zd4@0v8/mgEHovFI1H5137434v/pRdp/93CqJKT/Gz4tk7ugTjjImBUYpQTMSpjitbC8Di9ETWO0RPbHEStcsCbqlKbREHLr3bBgoXT2NSANCvOL16//flCAMCcqhYASJAlDAjaZos8pjaE7XJhqkbXG4CackKCAU2mcHbuZEZqZCsinQpqZByropJToxoNpznMzuwCpqApqevKyVzZRSmWqa5UWciYIOBzBX1RWmEsYBp2EiijjzkZA91LgT6sxKJohAoYhtsC8M1Nc/B5BUdKl0CJLVLL/gbcoFFOdZKovGG8oE5bd/EBd3GcjAYgFuVCGu7r1C0chWztSHPT51Bxw0itw2UqPwl0NQUL6x4ALa@bx@RfPyT15rrAGehj6FIlOZsbuxJGZtNE@p6DMSJDGpR8oZeyBDdFxcytw3ZGeXP628WbV6/eRutDyXK5jEpr4Bjpcp5FfnJ2po0a7h/vHx/v7n06wXzCHV/F3x79cv7j8bn9EAaT0H7hzUwmFCMyWIrR7vVot9mlnkwS4Gr6tEd@btBkPfd7DjNf2PMH@bXe4OXreceWimXKCJVEAlMLnYl2ihPVp9FMO4pTSCbKZT7H52CuFHkbFYOY6zKlOrGzWZ@y1ZDbIQuzGzaSwVDnqpqRPbzaHe3tHxw@f3F0vMJ6sDNonh2sd1ctJND@aNUiCK33Vi100np/1YIXrQ9WLR7S@nDVYh@tn69axKP1i1ULcLQ@@uT840/O37S3mTkxV8brAUYOFJaTDb5fWpqV5jaXPDdxFLjeKY7sduuWVIwUuymGYF6U8Gfqi4pm6edrNR7xoRyZZzjKLDIAmvWjckCcach1OsApI3k31UVTJevi7Qzn7WktGAck@MEmSNUN6cIAqrINulcXkACeUB4kDymXRvuEHiRwVPNn4kYrk5TicNOCTS/8kw2Zzh8xgq08WrPlgG3Z@8yWIFCbdBB1AOOE67Eqyy4X4RjFU/XrAuNFbwwwdYSBt50OMmUIoq60NPovVfuemgbHluLYFq/m2HgZz0Ra6iTqh3PZsghcV9IFXROxtQUKqesGVcdR5K36arS7M9rteXNY@Tfh2DpVdL5m2MaZMkmCEHHUldziAbpNYuMFISro/H0RsQCb0qqHMeyu1hZfg7X9OxNABpp2bWJr5lrIkTEerhoWvupTaPTn4K339AitA5yDE7E93N7Q9nIzgxD0B9QNGnU7R7XCA1Z4ebmp8Zza8VgodJsbYTmTjI25rlqtygBnSVps17Q7kqXrdpoVvNUE5zRJal8vfVoAXgk9jKqU/84lqj@gdd/2ZU76G20ijC6epcMbdQZxYf0gdd6MKO23efv5S6megakr3bwci1Pn5M3XPrNPek1uf@9bK2ycq1w5WfkcrxPIpylGobHocp1QfZA36gqZeCWj/UM/AkQfb9P@cnDCqT1BTsOwrgnZXCfPLRHjkFWB6HYm5NPbruGM8MkwmRwOTigRmDqIQ0wnkwPQKZ4UHryK7bu7DlSQG/Fy95HtukBccTOnpA9JgoablwyqsxqXwkXFOzB1mkKhEGEmK4zmXofR0oqldUnpp6BMFr4Dewne8Uz4UXNG9DPGIMxgNIdRywCgA0euapnAuI4Lklo8/49EJev930s0Ey7GZer5PLX5tI3RG6Aplgskq8w9v7qm6bJO5gqu8EVL8eTvzxKwQ675Hnft9p48ifi63S2x1YvogrdNDegqqixC3@2JOybqGY19pCMqCRYn9D@AZ89qvb/v/iFOJmIESqvC74z8Tq@m85VM3i26jWS/Ze15NgpxzV@lzi7FGVJ8Ls2pmzNwvQn37G69RKC9@JOtXp3hb/PWE31fiaiKDTgWiZpJVFnfS1CEg7MjLkqAAtC2q5yzboxeDStoag84GK6xdn4f8zRVSK2Z7dm88V5f7PENubQRH1/jVLIf/wY "Kotlin – Try It Online")
[Answer]
# [Python 3](https://docs.python.org/3/), ~~194~~ ~~192~~ ~~187~~ 127 bytes
@ASCII-only's solution:
```
lambda w,h,n=10:"\n".join("".join([" /","\\"][(j%n-i%n)%8==4][(j%n+i%n)%8==5]for i in range(-1,w*n+1))for j in range(-1,h*n+1))
```
[Try it online!](https://tio.run/##VcnRCsIgFIDhVzkcELS5ylYQgU8yd2GUeaSOQwajp7diddHVz8c/PqeYuavBunr3j/PFw6yjZmu2J3SM65SJJX7bI2xQo3M49DIJbkmwEkdr94ubnw9DyAUIiKF4vl1la/S84sYo9Rnpb8Rl1LEQTzLITu/eegE "Python 3 – Try It Online")
---
Original Solution
```
n="\n"
def f(w,h):a=[r"     /\   "*w,r"     \/   "*w,r"    \  /  "*w,r"   \    / "*w,r"\/\      /"*w+r"\/"];return a[0]+n+n.join(([i.translate({47:92,92:47})for i in a]+a[::-1])*h)+n+a[1]
```
[Try it online!](https://tio.run/##VctLCsMgEIDhfU8hrjTapHlAiCUnURdCI7GESbCWUErPbk3Iop3FwDfDv7zCOEMdI/RYAT7dBossWflIhemlx2ibQqWFs5UfVsWf07f4sdqTw2pvt0My24z11Q/h6QEZedEMGOT32QEh0uXBG3hMJgzk3bSiq3hXiab9UDt75JBLiWZGCnEuNc1GmmIjSx0X7yAQS2peURq/ "Python 3 – Try It Online")
-2 bytes thanks to @Black Owl Kai showing that the tops and bottoms can be accessed from the generated array instead of in separate variables.
-5 more bytes thanks to @Black Owl Kai using a more creative way to store the diamonds
Generates this portion of each diamond:
```
     /\
     \/
    \  /
   \    /
\/\      /\/
```
A `/\` added at the end of each row to complete it. Then, the `/`s and `\`s are swapped to form the top of each diamond, and the order of the lines is reversed to form the bottom half. Finally, it adds in the very top row of `/\`s and the very bottom row of `\/`s to complete the image.
]